2

我有 2 个应用程序,其中一个应用程序通过意图过滤器从第二个应用程序调用一个活动,如下所示:

调用 App1(父应用)

Intent openApp = new Intent("com.app.intent.Activity2");
startActivity(openApp );

App2(子应用)中的 Intent 过滤器

    <activity
        android:name=".app.activity.Activity2"
        android:label="@string/app_name" 
        android:launchMode="singleInstance"
        >

        <intent-filter>
            <action android:name="com.app.intent.Activity2" />
            <category android:name="android.intent.category.BROWSABLE"/> 
            <category android:name="android.intent.category.DEFAULT"/> 
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

在某一时刻,父应用程序必须关闭,但问题是第二个应用程序的 Activity2 也被杀死。我可以看到 Activity2 实际上是在同一个包下运行的,有没有办法让 Activity2 即使在父应用程序关闭后也能持续运行?

谢谢

4

2 回答 2

1

这个讨论似乎有你需要的。似乎您需要从要启动的包中获取启动意图并在您的意图中使用它。

从 Android 上的另一个应用程序启动一个应用程序

于 2012-04-25T19:13:33.933 回答
0

Android 通常会在一个进程中运行来自同一个 APK 的所有组件,因此如果其中一个使进程崩溃,那么它们都将消失。

但是,您可以告诉它将活动或服务放入自己的进程中。

<activity
    android:name=".app.activity.Activity2"
    android:label="@string/app_name" 
    android:launchMode="singleInstance"
    android:process=":my_unique_process">

当然,如果您的进程意外终止,这是一个需要理解和解决的问题——这只是一个临时的解决方法。

于 2012-04-25T19:21:23.860 回答