android 检测不保留活动

某天,某猿经过浑身解数,突然对我说,这魅族手机有问题啊,怎么从新页面返回后,旧页面的数据全清空了呢?

我调试了一下,从新页面返回,旧页面的onCreate居然触发了,理应只跑onStart或onResume的,可是onCreate也跑了,很吊诡。后来查了资料,据说从安卓4.0开始,开发者选项有一项“不保留活动”,剁手党把它打开,就会出现这种生命周期淆乱的问题,把关掉就好了。

比较合理的做法,就类似京东那样,在打开应用的时候,检测这个选项是否打开,如果打开就提醒用户关掉。

int alwaysFinish = Settings.Global.getInt(getContentResolver(), Settings.Global.ALWAYS_FINISH_ACTIVITIES, 0);
if (alwaysFinish == 1) {
			Dialog dialog = null;
			dialog = new AlertDialog.Builder(this)
					.setMessage(
							"由于您已开启'不保留活动',导致i呼部分功能无法正常使用.我们建议您点击左下方'设置'按钮,在'开发者选项'中关闭'不保留活动'功能.")
					.setNegativeButton("取消", new DialogInterface.OnClickListener() {
						@Override
						public void onClick(DialogInterface dialog, int which) {
							dialog.dismiss();
						}
					}).setPositiveButton("设置", new DialogInterface.OnClickListener() {
						@Override
						public void onClick(DialogInterface dialog, int which) {
							Intent intent = new Intent(
									Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS);
							startActivity(intent);
						}
					}).create();
			dialog.show();
		}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值