您的位置:首页 > 移动开发 > Android开发

android点击home键后,点击图标,重新启动第一个activity

2015-11-17 16:29 555 查看
问题:打开应用后,从activity A跳转到activity B,点击home键后,点击图标,重新启动activaty A,而不是回到activity B

解决方案一,增加一个静态变量作为标识:

private static boolean isUpgrade = false; // 标识


在activity A的oncreate中判断静态标识位状态,如果为true则直接进入activity B

if (isUpgrade) {
startUnityActivity();
return;
}


在进入activity B时改变状态,

private void startUnityActivity() {
isUpgrade = true;
Intent intent = new Intent(this, B.class);
startActivity(intent);
finish();
}


解决方案二,判断activity A是否处于栈底,如果处于栈底,则直接关闭。在activity A的onCreate中添加(注意,代码添加在super.onCreate()之后,不然报错):

if (!isTaskRoot()) {
try {
Intent mainIntent=getIntent();
String action=mainIntent.getAction();
if(mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) {
finish();
return;//finish()之后该活动会继续执行后面的代码,你可以logCat验证,加return避免可能的exception
}
} catch (Exception e) {
}
}


参考:/article/1851825.html
http://m.blog.csdn.net/blog/love100628/43238135
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: