FromNotificationActivity

FromNotificationActivity

我的应用程序有两个入口点(MainActivity和FromNotificationActivity)。

我希望MainActivity出现在最近的任务中,而不是FromNotificationActivity)

如果 list 中没有声明任何内容,那么我可以...

  • MainActivity
  • 返回
  • FromNotificationActivity
  • 返回

  • ...我发现最近任务中列出了FromNotificationActivity

    如果我在 list 中的FromNotificationActivity中添加android:excludeFromRecents="true"并重复相同的序列,则在最近的列表中找不到,没有

    在执行上述步骤之后,我必须调用哪种方法,才能在最近的列表中获得MainActivity。

    最佳答案

    默认情况下,应用程序的所有 Activity 都具有相同的相似性。从概念上讲,具有相同亲和力的 Activity 属于同一任务。因此,在这种情况下,MainActivityFromNotificationActivity属于同一任务。 android:excludeFromRecents确保该任务未在最近的应用程序中列出。这就是为什么当android:excludeFromRecentstrue设置为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>
    

    10-06 00:59