乌龟赛跑

你在某件事上花费的时间都是值得的。

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

问题:打开应用后,从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) {
			}
		}


参考:http://blog.csdn.net/love100628/article/details/43238135

            http://m.blog.csdn.net/blog/love100628/43238135




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yu75567218/article/details/49889317
文章标签: android
上一篇子线程中progress不显示问题
下一篇challenge(一)前言
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭