繁体   English   中英

以两个 Activity 作为输入点的 Android 应用

[英]Android app with two activities as enter points

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

    <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>

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

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

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

非常感谢您的任何建议。

在每个活动上添加 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM