android home activity,android点击home键后,点击图标,重新启动第一个activity
问题:打开应用后,从activity A跳转到activity B,点击home键后,点击图标,重新启动activaty A,而不是回到activity B解决方案一,增加一个静态变量作为标识:private static boolean isUpgrade = false; // 标识在activity A的oncreate中判断静态标识位状态,如果为true则直接进入activity Bif
问题:打开应用后,从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) {
}
}
更多推荐



所有评论(0)