Use Intent to launch another activity to play m4v file
Description
The following code shows how to Use Intent to launch another activity to play m4v file.
Example
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. ja v a 2s . c om
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. ja v a 2 s . 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");
}
}