excludeFromRecents不适用于taskAffinity

kol*_*vra 9 android android-manifest android-activity android-recents

可能重复: 如何在ICS中的最近应用列表中不显示应用?excludeFromRecents不起作用

假设我有两个活动A(主要活动)和B.我从A开始B如下:

    Intent i = new Intent(A.this, B.class);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(i);
Run Code Online (Sandbox Code Playgroud)

我希望我的应用程序在任何时候只有一个条目,并且B将在新任务中启动.如果B有如下的清单条目,我实现了:

    <activity
        android:name="com.example.verysimpleactivity2.app.B"
        android:excludeFromRecents="true"
        android:label="B" ></activity>
Run Code Online (Sandbox Code Playgroud)

但我也希望B具有与主要活动不同的taskAffinity,即A.所以我将清单条目更改为:

    <activity
        android:name="com.example.verysimpleactivity2.app.B"
        android:excludeFromRecents="true"
        android:taskAffinity=""
        android:label="B" ></activity>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果B不在前景中,那么它不会显示在最近,我只有A(好!)但是,如果B在前景中并按下最近按钮,我看到A和B都在那里.为什么在这种情况下B显示在最近?如何确保我根本看不到B?

kol*_*vra 1

显然,不可能实现我想要的(至少在 KitKat 中)。

来源:一位Android工程师