The following code shows how to Use Intent to launch another activity to play m4v file.
Manifext xml file
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.examples.matchmaker" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="3" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".RootActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".PlayerActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="video/h264" /> </intent-filter> <intent-filter> <action android:name="com.examples.myplayer.PLAY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </application> </manifest>
Main layout xml file
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
Main Activity Java code
import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.widget.Button; import android.view.View; /* ww w .j av a2 s . c o m*/ public class MainActivity extends Activity implements View.OnClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Button button = new Button(this); button.setOnClickListener(this); setContentView(button); } @Override public void onClick(View v) { // Intent intent = new Intent(); // intent.setAction(PlayerActivity.ACTION_PLAY); // startActivity(intent); Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse("file:///android_asset/movie.m4v"), "video/h264"); startActivity(Intent.createChooser(intent, "Play Video")); } }
Second activity Java code
import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.util.Log; /*from ww w .j a v a 2s . c om*/ public class PlayerActivity extends Activity { public static final String ACTION_PLAY = "com.examples.myplayer.PLAY"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent incoming = getIntent(); Uri videoUri = incoming.getData(); String title; if(incoming.hasExtra(Intent.EXTRA_TITLE)) { title = incoming.getStringExtra(Intent.EXTRA_TITLE); } else { title = ""; } Log.i("PLAYER", "Begin playing the video and displaying the title"); } }