我正在使用以下INTENT(在活动B中)从我的应用程序中启动一些MP4视频:
if (v == image5) {
File file = new File(Environment.getExternalStorageDirectory()
+ "/.intro/Resources/Res5.mp4");
if (file.exists()) {
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "video/mp4");
//intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
startActivity(intent);
overridePendingTransition(R.anim.zoom_enter,
R.anim.zoom_exit);
} catch (ActivityNotFoundException e) {
}
}
}
当视频完成时,我希望android返回到启动意图的活动(活动B),但它没有,而是显示我的应用程序(活动A)的启动器活动。我试过了FLAG_ACTIVITY_NEW_TASK
,但没有区别。
编辑:Full Manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.app.trainer"
android:installLocation="preferExternal"
android:versionCode="14"
android:versionName="1.1" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SET_WALLPAPER" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:theme="@style/AppTheme" >
<activity
android:name=".SplashScreen"
android:label="@string/title_activity_splash_screen"
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
<!-- this is activity A -->
android:name=".Main"
android:label="@string/title_activity_main"
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- <category android:name="android.intent.category.LAUNCHER" /> -->
</intent-filter>
</activity>
<activity
android:name=".Main3"
android:label="@string/title_activity_main3"
android:parentActivityName=".Main"
android:screenOrientation="landscape" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.my.app.trainer.Main" />
</activity>
<activity
android:name=".CNAChooser"
android:label="@string/title_activity_cnachooser"
android:parentActivityName=".Main3" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.my.app.trainer.Main3" />
</activity>
<activity
<!-- this is activity B -->
android:name=".CNARes"
android:label="@string/title_activity_cnares"
android:parentActivityName=".CNAChooser" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.my.app.trainer.CNAChooser" />
</activity>
</application>
</manifest>
EDIT2:我最初没有onResume(),但添加onResume()并没有改变行为。
如何设置启动活动INTENT以确保在视频完成时显示活动B?
EDIT3:清除描述 - 当我选择要播放视频的图像按钮时(默认情况下重置为要使用的视频应用程序),然后活动A显示在对话框后面,询问哪个应用播放视频。
问题2:为什么上面列出的意图启动活动A?
我尝试删除并重新安装应用,但行为是一样的。
编辑:检查开发人员选项,“不要保持活动”未启用。
EDIT4:我已经在2个不同的Android平板电脑和我的S4上检查了APK,并且所有设备上的行为都相同。我也尝试过从Eclipse完全清理和刷新。
EDIT5:我尝试删除动画并尝试了FLAG_ACTIVITY_PREVIOUS_IS_TOP并仍然获得相同的行为。我也尝试使用我知道的Activity A(主)类文件中的代码来更改启动PDF文件的意图。我真的很困惑这里发生了什么。
感谢;
安迪