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>
因此我们在移动桌面上有两个图标。
我需要解决的问题是当其中一个图标启动相应 activity 并且用户按下“后退”按钮(应用程序未被终止)以按下另一个图标并启动另一个 activity - 他不能't 运行 另一个 activity 通过其图标,第一个再次出现。所以它应该在 运行 另一个 activity 正确之前被杀死。
是否可以通过其图标 运行 每个 activity 而无需手动终止应用程序(需要让用户感到舒适)以及如何实现这一点?
非常感谢您的任何建议。
在每个 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>
应用程序包含两个活动作为清单中描述的输入点。
<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>
因此我们在移动桌面上有两个图标。
我需要解决的问题是当其中一个图标启动相应 activity 并且用户按下“后退”按钮(应用程序未被终止)以按下另一个图标并启动另一个 activity - 他不能't 运行 另一个 activity 通过其图标,第一个再次出现。所以它应该在 运行 另一个 activity 正确之前被杀死。
是否可以通过其图标 运行 每个 activity 而无需手动终止应用程序(需要让用户感到舒适)以及如何实现这一点?
非常感谢您的任何建议。
在每个 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>