文章详情页
关于Android权限的获取问题,大家遇到过这样的情况嘛?
问题描述
大家都知道, 在api23 google加入了动态权限系统,如果我们手机的系统版本大于22以及应用的target version大于22时,某些权限必须通过动态申请的方式获取。
反之,无论是手机版本还是应用的target version低于23,都将在安装时列出需要的权限,如果确定安装则会授予应用在manifest中申请的所有权限。
见 Google 对于动态获取权限的描述
但最近在公司的一个项目上出现了这样的问题:
我手机是AndroidN,项目target version22,安装后却依旧会动态弹出授权窗口,因为项目未做动态权限适配,如果用户授权还好,如果拒绝有些时候就会崩溃掉。如图:
我的手机是一加3,暂时手头也没有别的机器,所以也不好确定是rom的问题还是其他的什么,所以想问问大家是否也遇到过这样的情况?
问题解答
回答1:就是国产手机的修改的,自己会有权限管理,基本上国产手机都有,所以最好的是直接用23,直接去处理,要不然就只能针对对象和空值进行判断来控制了。
回答2:可能是一加3自己适配了权限这部分,华为魅族等都有自己处理这些权限请求。之前我也遇到一个头疼的问题,在魅族手机上使用相机,如果用户拒绝的话,Camera对象还是可以正常拿到且不为空,也不报错。只是魅族默默地给你调用了release,真是坑啊
回答3:貌似这个定制的厂商在更新rom的时候总是习惯给旧的版本添加一些“新的特性”.
排行榜