【问题标题】:How to clear existing task and start entirely new task in Android?如何在 Android 中清除现有任务并开始全新的任务?
【发布时间】:2015-11-10 10:51:03
【问题描述】:
在我的 Android 应用中,我使用以下活动标志从通知中启动我的应用:
- IntentCompat.FLAG_ACTIVITY_CLEAR_TASK
- Intent.FLAG_ACTIVITY_NEW_TASK
- Intent.FLAG_ACTIVITY_CLEAR_TOP
在新发布时仍然可以看到旧任务的一些活动。
我是否缺少任何标志?
【问题讨论】:
标签:
android
android-activity
task
【解决方案1】:
试试这个,
Intent intent = new Intent(MainActivity.this, Second.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
【解决方案2】:
Intent loginscreen = new Intent(this, HomeActivity.class);
loginscreen.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(登录屏幕);
this.finish();
我同意@fab 它与注销功能一样好,您希望清除用户设置的所有标志值。
为了实现目标android已经提供了Activity启动模式来启动activity
详细说明请通过Link
【解决方案3】:
您可以在创建 PendingIntent 之前添加此行,但之后这取决于您想要做什么:
targetIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);