当打开这个设置以后,程序的Activity会自动销毁,每次返回的时候就会不断重oncreate,此时伴随的问题多多。
参考文档:http://www.bubuko.com/infodetail-960685.html
Android 当打开“开发者模式”中的“不保留活动”后,程序应当怎么保持正常运行咧。。?
在这几天,我一直在纠结这个问题。从发现,程序出现这个问题,是因为“开发者模式”中的“不保留活动”被打开了,到怎么获取“不保留活动”的值。
发现“不保留活动”,是从京东客服端获得的灵感
得到“不保留活动”的值,是查看了Android原声的APP,Settings应用程序,查看源码,找到了相应的地方。。。
自此,bug是怎么产生的,以及怎么获取“不保留活动”的值,都解决了,下面就上点代码吧,O(∩_∩)O~
代码是经过公司程序测试过的,天然无污染,请放心使用。。。
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 OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }).setPositiveButton("设置", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent = new Intent( Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS); startActivity(intent); } }).create(); dialog.show(); }
总结:
这个“开发者模式”中的“不保留活动”被开启之后,产生了诸多问题,一一解决之后(解决时也发了诸多牢骚),但是在这里也不得说一下,那个用户,闲得无聊,开启这个啊,他懂这是什么意思吗?这个是能随便动的吗?知道我干了几天才解决的吗?你能找到“开发者模式”是怎么打开的就不错了。。。。~~~~(>_<)~~~~