我的应用程序有两个入口点(MainActivity和FromNotificationActivity)。
我希望MainActivity出现在最近的任务中,而不是FromNotificationActivity)
如果 list 中没有声明任何内容,那么我可以...
...我发现最近任务中列出了FromNotificationActivity
如果我在 list 中的FromNotificationActivity中添加
android:excludeFromRecents="true"
并重复相同的序列,则在最近的列表中找不到,没有。在执行上述步骤之后,我必须调用哪种方法,才能在最近的列表中获得MainActivity。
最佳答案
默认情况下,应用程序的所有 Activity 都具有相同的相似性。从概念上讲,具有相同亲和力的 Activity 属于同一任务。因此,在这种情况下,MainActivity
和FromNotificationActivity
属于同一任务。 android:excludeFromRecents
确保该任务未在最近的应用程序中列出。这就是为什么当android:excludeFromRecents
的true
设置为FromNotificationActivity
时,MainActivity
从历史记录中消失的原因。
解决方案:
使用android:taskAffinity
为这两个 Activity 指定不同的任务。如果该任务根本不显示在历史记录中,请使用android:excludeFromRecents
作为FromNotificationActivity
。
<activity
android:name="com.example.MainActivity"
android:label="@string/app_name"
android:taskAffinity=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.example.FromNotificationActivity"
android:label="@string/notification_name"
android:taskAffinity=".NotificationActivity"
android:excludeFromRecents="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>