如何在ICS的最新应用列表中显示应用?excludeFromRecents不起作用

Kog*_*ger 6 android android-recents

我知道它应该可以android:excludeFromRecents="true"在android manifest或Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTSIntent标志中实现.

问题是,如果当前正在显示应用程序,则无效 - 当单击"最近的应用程序"按钮时,应用程序始终显示在首位,允许快速查杀应用程序(通过滑动它).不适合闹钟应用.

幸运的是,音乐服务继续播放,用户可以通过通知回到完成警报,但我真的很难重新创建活动堆栈.

有没有快速解决方案?

use*_*737 1

这是一个众所周知的 Android 问题:https://code.google.com/archive/p/android-developer-preview/issues/1662

这是一个解决方案:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果从最近的任务根活动中排除,则该任务中的所有活动也将被排除。