android app运行时改变权限配置,application的context为空

sjh_389510506 2018-12-07 11:39:33
android app 运行时,用户到后台去设置中,关掉正在运行app的某个已经授予的权限,这时候系统会把之前的app进程杀掉,在创建一个进程,并回到之前的界面。这样会出现一些问题:之前的界面有些值会变为空,存在application里的变量会为空(比如管理activity的栈中 list<Activity> mList 之前存的值会变为0);SharePreferences无法使用,因为之前的进程被干掉了,context为空;现在解决方式是:让app重新启动,登陆,到主页,这是一般的app的解决办法,请问如何做到呢? 较为牛逼的做法是微信的:他会回到之前运行的界面,不知道这个怎么实现的?有没有大神帮助解决一下,说一下思路。
...全文
159 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
王能 2018-12-07
  • 打赏
  • 举报
回复
界面间传值最好都用intent,跨多界面也尽量不要用application保存,浪费内存还不稳定
王能 2018-12-07
  • 打赏
  • 举报
回复
重启就是干掉app然后重新new application,并且会重新调用application的onCread的,被kill时系统会回调app的(自行百度)。类似Context和SharePreferences这种一般都是在onCreated初始化,这样就永远不会出现空的情况(因为application在app就在,application亡APP就亡)

80,354

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧