我正在尝试完成一项活动而不是最近的活动。以下代码似乎适用于KitKat,但不适用于lolipop,因为活动始终显示在最新版本上。
intentInvite = new Intent( context, OnInviteActivity.class );
intentInvite.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentInvite.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intentInvite = createInviteIntent( intentCloud, intentInvite );
context.startActivity( intentInvite );
的AndroidManifest.xml
<activity android:name=".OnInviteActivity"
android:label="@string/app_name"
android:excludeFromRecents="true"
android:noHistory="true"
答案 0 :(得分:3)
尝试添加唯一的taskAffinity:
<activity android:name=".OnInviteActivity"
android:label="@string/app_name"
android:taskAffinity=".OnInviteActivity"
android:excludeFromRecents="true"
android:noHistory="true"
答案 1 :(得分:3)
这是Android 5.0中的一个已知问题,因为L预览。似乎Google正在努力。
以下是相同的
的未决问题答案 2 :(得分:2)
https://stackoverflow.com/a/27633500/1269737 - 众所周知的Android问题。
这可以通过编程方式完成
ActivityManager am =(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); if(am != null) { List<ActivityManager.AppTask> tasks = am.getAppTasks(); if (tasks != null && tasks.size() > 0) { tasks.get(0).setExcludeFromRecents(true); } }
如果从最近排除了任务根活动,则此任务中的所有活动也将被排除。
答案 3 :(得分:0)
我遇到了与android Jelly Bean
相同的问题,我在清单中有这个问题:
<activity android:name=".MainActivity"
android:label="@string/app_name"
android:excludeFromRecents="true"
android:noHistory="true" />
我删除了android:noHistory="true"
并且它有效,最近的应用程序停止显示我的活动。由于某种原因,noHistory
和execludeFromRecents
看起来不兼容。