大家都知道, 在api23 google加入了动态权限系统,如果我们手机的系统版本大于22以及应用的target version大于22时,某些权限必须通过动态申请的方式获取。
反之,无论是手机版本还是应用的target version低于23,都将在安装时列出需要的权限,如果确定安装则会授予应用在manifest中申请的所有权限。
见 Google 对于动态获取权限的描述
但最近在公司的一个项目上出现了这样的问题:
我手机是AndroidN,项目target version22,安装后却依旧会动态弹出授权窗口,因为项目未做动态权限适配,如果用户授权还好,如果拒绝有些时候就会崩溃掉。
如图:
我的手机是一加3,暂时手头也没有别的机器,所以也不好确定是rom的问题还是其他的什么,所以想问问大家是否也遇到过这样的情况?
就是國產手機的修改的,自己會有權限管理,基本上國產手機都有,所以最好的是直接用23,直接去處理,要不然就只能針對對象和空值進行判斷來控制了。
可能是一加3自己適配了權限這部分,華為魅族等都有自己處理這些權限請求。
之前我也遇到一個頭痛的問題,在魅族手機上使用相機,如果用戶拒絕的話,Camera對象還是可以正常拿到且不為空,也不報錯。只是魅族默默地給你調用了release,真是坑啊
似乎這個客製化的廠商在更新rom的時候總是習慣為舊的版本添加一些「新的特性」.