本文转自http://www.2cto.com/kf/201407/319948.html
当android安装完应用时,都有这样的页面:
当我们点击“打开”后直接进入应用,并且在你的LoginActivity(启动页面)跳转了第二个Activity,这时再按Home键,返回到了你的手机桌面,再从桌面点击应用图标后打开该应用,这时会发现并没有显示刚才第二个Activity而是重新显示了第一个Activity(LoginActivity),而当返回时却显示了第二个Activity。这是由于android的Activity堆栈的问题,解决办法:
public class LoginActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Intent.FLAG_ACTIVITY_REORDER_TO_FRONT的意思是,如果task中已经有这个activity A,那么就把A拿到task的最顶层,而不是创建一个新的activity
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
return;
}
setContentView(R.layout.main);
}
@Override
protected void onStart() {
super.onStart();
System.out.println("---> onStart()");
}
@Override
protected void onResume() {
super.onResume();
System.out.println("---> onResume()");
}
}
在配置文件里也不需要添加android:launchMode="singleTask"属性