大家都知道, 在api23 google加入了动态权限系统,如果我们手机的系统版本大于22以及应用的target version大于22时,某些权限必须通过动态申请的方式获取。
反之,无论是手机版本还是应用的target version低于23,都将在安装时列出需要的权限,如果确定安装则会授予应用在manifest中申请的所有权限。
见 Google 对于动态获取权限的描述
但最近在公司的一个项目上出现了这样的问题:
我手机是AndroidN,项目target version22,安装后却依旧会动态弹出授权窗口,因为项目未做动态权限适配,如果用户授权还好,如果拒绝有些时候就会崩溃掉。
如图:
我的手机是一加3,暂时手头也没有别的机器,所以也不好确定是rom的问题还是其他的什么,所以想问问大家是否也遇到过这样的情况?
Il est modifié par les téléphones mobiles nationaux. Il aura sa propre gestion des autorisations. Fondamentalement, les téléphones mobiles nationaux l'ont, donc le mieux est d'utiliser 23 directement et de le traiter directement. Sinon, vous ne pouvez juger et contrôler que les objets et. valeurs nulles.
Il se peut que OnePlus 3 ait adapté lui-même la partie autorisations, et que Huawei, Meizu, etc. gèrent tous eux-mêmes ces demandes d'autorisation.
J'ai également rencontré un problème de mal de tête auparavant lors de l'utilisation de l'appareil photo sur un téléphone Meizu, si l'utilisateur refuse, l'objet Appareil photo peut toujours être obtenu normalement et n'est pas vide, et aucune erreur n'est signalée. C'est juste que Meizu appelle silencieusement votre libération, ce qui est vraiment un piège
Il semble que ce fabricant personnalisé ait toujours l'habitude d'ajouter des "nouvelles fonctionnalités" à l'ancienne version lors de la mise à jour des ROM.