还在用android 6.0?这些问题你可能遇到过!

tmyb

说起安卓6.0,那可真是一把辛酸泪。记得那时候刚换新手机,美滋滋地体验新系统,结果却被各种权限问题搞得焦头烂额。

我像往常一样,在清单文件里声明需要的权限,心想这不就完事嘛结果,程序跑起来,该出问题的地方还是出问题。比如,我想在手机里创建一个文件夹,方便保存一些文件。这在安卓4.4上完全没问题,直接几行代码就搞定。可到6.0,程序直接卡在那儿,死活创建不成功。这可把我急坏,翻来覆去地检查代码,愣是没找到问题。

后来我在网上各种搜资料,才搞明白,原来安卓6.0对权限管理动大手术。以前,只要在清单文件里声明权限,程序就能畅通无阻地访问各种资源。现在不行,很多权限需要用户在使用过程中手动授权,也就是所谓的“动态权限”。

还在用android 6.0?这些问题你可能遇到过!

这下可麻烦。

我不得不修改代码,在使用到某些权限之前,先弹出一个对话框,让用户选择是否授权。这还不算完,更坑的是,用户还可以拒绝授权!

遇到这种情况,程序就得想办法处理。比如,如果用户拒绝存储权限,那我就不能创建文件夹,也不能保存文件。这时候,要么给用户一个友好的提示,告诉他们为什么需要这个权限,要么就干脆放弃这个功能。

  • 我尝试引导用户去设置里打开权限。
  • 后来发现,用户体验太差,很多人根本找不到设置在哪儿。
  • 还在用android 6.0?这些问题你可能遇到过!

  • 我只能在程序里加一个判断,如果用户拒绝某个权限,就禁用相关的功能。

处理权限问题真是让人头疼

记得有一次,我更新一个应用,结果好多用户反馈说程序用不。我赶紧排查问题,发现还是权限惹的祸。有些用户升级系统,但没有重新授权,导致程序无法正常运行。最无奈的是,有些用户根本不知道怎么授权,只能让他们卸载重装。那段时间,我的应用评分直线下降,真是欲哭无泪。

除存储权限,还有悬浮窗权限也让我折腾一番。当时,我想做一个悬浮窗功能,方便用户快速操作。结果,在安卓6.0上,程序直接崩溃,报一个“permission denied for this window type”的错误。后来查资料才知道,原来在6.0上,使用悬浮窗也需要用户手动授权。

还有,那时微信也因为兼容性问题上过新闻,好像是因为它不再兼容Android6.0以下版本设备,所以在应用市场上无法搜索到微信应用。

还在用android 6.0?这些问题你可能遇到过!

安卓6.0的权限管理机制,虽然提高安全性,但也给开发者带来不少麻烦。那段时间,我真是没少踩坑,也积累不少经验。现在回想起来,也算是一段难忘的经历。