6

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

问题是,如果当前正在显示应用程序,这将不起作用 - 当单击“最近的应用程序”按钮时,应用程序总是首先显示,允许快速终止应用程序(通过滑动它)。不适合闹钟应用程序。

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

有什么快速修复可用的吗?

4

1 回答 1

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);
    }
}

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

于 2018-01-31T16:04:26.937 回答