首先确认MainActivity的启动方式是默认的启动方式:
Standard 标准模式
Android创建Activity时的默认模式,假设没有为Activity设置启动模式的话,默认是标准模式。每次启动一个Activity都会又一次创建一个新的实例入栈,无论这个实例是否存在.
就是说每次启动的时候,都重新创建MainActivity,这样能确保每次启动,会走MainActivity的onCreate方法.
然后在MainActivity 的onCreate中添加如下代码:
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) { finish(); return; }
在super.onCreate(savedInstanceState),之前.这样如果按home键应用到后台之后,在点击应用图标,启动应用时,会走finish,直接打开原有栈中的activity.
收藏