0

应用程序包含两个活动作为清单中描述的输入点。

    <activity
        android:name=".ui.screen.main.MainActivity"
        android:icon="@mipmap/ic_tracker_launcher" >
        <intent-filter android:label="@string/app_name" >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".ui.screen.main.MapEnterActivity"
        android:icon="@mipmap/ic_watcher_launcher" >
        <intent-filter android:label="@string/app_name_watcher" >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

因此,我们在移动桌面上有两个图标。

我需要解决的问题是当一个图标启动相应的活动并且用户按下“返回”按钮(应用程序未终止)按下另一个图标并启动另一个活动时 - 他无法通过其图标运行另一个活动并且第一个活动出现再次。所以它应该在正确运行另一个活动之前被杀死。

是否可以通过其图标运行每个活动而无需手动终止应用程序(需要让用户感到舒适)以及如何实现这一点?

非常感谢您的任何建议。

4

1 回答 1

1

在每个活动上添加 android:taskAffinity

 <activity
    android:taskAffinity="com.example.MainActivity"
    android:name=".ui.screen.main.MainActivity"
    android:icon="@mipmap/ic_tracker_launcher" >
    <intent-filter android:label="@string/app_name" >
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity
    android:taskAffinity="com.example.MapEnterActivity"
    android:name=".ui.screen.main.MapEnterActivity"
    android:icon="@mipmap/ic_watcher_launcher" >
    <intent-filter android:label="@string/app_name_watcher" >
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
于 2020-10-02T19:31:59.983 回答