我的应用在后台运行,有时会显示 Activity 以故意中断用户的流程。我的 Activity 开始了一项新任务,该任务在前台显示在“最近的任务”列表中。有什么办法可以预防吗?设置 android:excludeFromRecents
不起作用 - 只有在暂停后,“最近的任务”中才不再显示 Activity 。
list 看起来像:
<activity
android:name="com.example.recenttasks.MainActivity"
android:excludeFromRecents="true">
</activity>
Activity 以这种方式开始:
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
最佳答案
你提到的关键是
appears in "Recent Tasks" lists while being in foreground
我认为你无法改变这种行为。我刚刚在我的应用程序上进行了测试,同样的事情发生了。如果我在前台进行 Activity 时按下“最近的任务”按钮,它就会出现在那里。当我从它移到另一个 Activity 或手机的主屏幕时,该 Activity 不再列出。
我还在最新 Android 版本附带的内置 DeskClock 应用程序上对此进行了测试,当触发新警报时,同样的行为也存在。请注意,该应用的 AlarmAlertFullscreen
Activity 具有您在问题中提到的相同参数。
我不确定您是否可以规避这一点,或者为什么首先需要规避该 Activity ,因为一旦失去焦点,该 Activity 就不再列出。
关于android - 从最近的任务中排除当前 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20516832/