始终启动没有历史记录的新活动实例

时间:2012-11-01 16:42:45

标签: android android-intent android-activity

有没有办法将活动作为没有历史记录的新实例启动?

在清单文件中尝试了以下内容。

android:launchmode="singleinstance"
android:noHistory=true

我能够实现我的需要,但是一旦屏幕被锁定,就会显示上一个活动。这就是noHistory应该做的,但不是我需要的。

始终保持屏幕不会更好,因为它会不必要地耗尽电池。有没有其他方法可以使用新实例启动活动并且没有历史记录,但在屏幕锁定时也能正常工作?

3 个答案:

答案 0 :(得分:1)

这将启动包含新信息且无历史记录的活动

Intent intent = new Intent(MainActivity.this, TargetActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
MainActivity.startActivity(intent);

答案 1 :(得分:1)

您也可以通过添加android:noHistory="true"

来实现

在您的Android清单活动代码(ClassName

答案 2 :(得分:0)

尝试在意图中使用此标记。

或推荐More Detail

intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

新活动未保留在历史记录堆栈中。一旦用户离开它,活动就完成了。