在某些手机上,当我们是使用编译器或从应用市场下载应用后第一次启动,然后点击HOME键让应用进入后台,再次点击应用 应用将重新启动,我们手动执行 和 系统的自动启动 的区别在于内部的一个flag 在这两种情况下,是两种不同的状态,按理说属于一个系统BUG,但似乎在Android M 中仍然重在。
issues:https://code.google.com/p/android/issues/detail?id=2373
解决方法:在root activity 中加入一下代码,验证是否需要重新启动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
return;
}
}