如何防止app在startActivityForResult期间创建另一个应用程序的实例?

时间:2015-09-16 04:35:00

标签: android android-activity

我有应用程序A与应用程序B交互。当我使用startActivityForResult启动应用程序B时,应用程序A会创建应用程序B的实例。而实际的应用程序B仍然可以手动启动。

是否可以使用startActivityForResult启动应用B,但这次将实际应用B带到前台?

App B' s Manifest上的活动声明:

<activity
    android:name=".activities.AppBActivity"
    android:launchMode="singleTask"
    android:screenOrientation="sensorPortrait"
    android:theme="@style/Theme.AppCompat.NoActionBar" >
    <intent-filter>
        <action android:name="intent.action.ApplicationBActivity" />
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

        <data
            android:host="appBHost"
            android:scheme="appBScheme" />
    </intent-filter>
</activity>

申请A启动B.

Intent launchAppB = new Intent(appBCustomAction, Uri.parse(schemeAndHost));
startActivityForResult(launchAppB, LAUNCH_APP_B_REQUEST);

1 个答案:

答案 0 :(得分:2)

这取决于您的id name price tags 文件中声明的应用B Activity launchMode。您可以阅读有关AndroidManifest here的更多信息。在您的情况下,我建议您使用lauchMode