第三方应用关闭时返回启动活动

时间:2014-10-09 12:05:53

标签: android android-intent

我正在使用以下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文件的意图。我真的很困惑这里发生了什么。

感谢;

安迪

0 个答案:

没有答案