的时候我会打开标志noHistory和excludeFromRecents,当活动已在运行。 例如,当谷歌浏览器在隐身模式下生成通知时,会生成 ,当您单击它时会消除堆栈的所有活动并从最近删除。我想通过我的应用程序的一些活动来做这样的事情。删除操作,在应用程序运行
编辑: 由David Wasser提出的解决方案的工作,但我的问题有点复杂。 这是我的manifest.xml
...
<activity
android:name=".ActivityRecive"
android:excludeFromRecents="true"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
<data android:mimeType="video/*" />
</intent-filter>
</activity>
<activity
android:name=".ActivityPasswordToIncognito">
</activity>
<activity
android:name=".ActivityIncognitoMode1">
</activity>
<activity
android:name=".ActivityIncognitoMode2">
</activity>
<activity
android:name=".ActivityIncognitoMode3"
</activity>
...
ActivityRecive:开始为意图的结果。我希望这个活动被排除在堆栈之外,并且排除From recent。 ActivityRecive可以启动ActivityPasswordToIncognito。
ActivityPasswordToIncognito:“正常”活动。 ActivityPasswordToIncognito可以启动ActivityIncognitoMode(X)。 ActivityIncognitoMode(X):他们可以启动ActivityIncognitoMode(x + 1),我希望当用户从无痕模式退出并从堆栈中删除时。
问题是,根Activity(ActivityRecive)使用了android:excludeFromRecents =“true”,那么最近排除了任务中的所有活动。我曾尝试使用FLAG_ACTIVITY_NEW_TASK启动ActivityPasswordToIncognito,但无法正常工作。
你有什么尝试?你看到什么bejaviour?什么不起作用?更加详细一些。 – 2015-02-09 11:12:26
@DavidWasser我想在活动已经运行时模拟标志noHistory和excludeFromRecents的操作。就像我所知道的完成()该活动一样。但是这不会从最近删除,如果它是重新创建堆栈的最后一个。对不起我的英语不好。 – user60108 2015-02-09 15:24:46