4

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

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

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

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

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

4

3 回答 3

1

您也可以通过添加来做到这一点android:noHistory="true"

在你的 android manifest Activity Tag ( ClassName)

于 2012-11-05T07:23:26.780 回答
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);
于 2012-11-01T17:10:46.360 回答
0

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

或参考此以获得更多详细信息

intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

新活动不会保存在历史堆栈中。一旦用户离开它,活动就完成了。

于 2012-11-05T07:05:31.377 回答