Android 8.0 行为变更

https://stackoverflow.com/questions/33124930/android-6-0-permission-get-accounts

权限

在 Android 8.0 之前,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用。

对于针对 Android 8.0 的应用,此行为已被纠正。系统只会授予应用明确请求的权限。然而,一旦用户为应用授予某个权限,则所有后续对该权限组中权限的请求都将被自动批准。

例如,假设某个应用在其清单中列出 [READ_EXTERNAL_STORAGE][WRITE_EXTERNAL_STORAGE]。应用请求 [READ_EXTERNAL_STORAGE],并且用户授予了该权限。如果该应用针对的是 API 级别 24 或更低级别,系统还会同时授予 [WRITE_EXTERNAL_STORAGE],因为该权限也属于同一 [STORAGE] 权限组并且也在清单中注册过。如果该应用针对的是 Android 8.0,则系统此时仅会授予 [READ_EXTERNAL_STORAGE];不过,如果该应用后来又请求 [WRITE_EXTERNAL_STORAGE],则系统会立即授予该权限,而不会提示用户。

欢迎各位关注在下的微信公众号“张氏文画”,不光有新鲜的 LeetCode 题解(多种思路,包教包会,开拓思维),还有经典的文章及短视频和大家分享,一起嘿嘿嘿

——乐于分享,共同进步,欢迎留言讨论
——Treat Warnings As Errors
——Any comments greatly appreciated
——Talking is cheap, show me the code
——CSDN:https://blog.csdn.net/u011489043
——简书:https://www.jianshu.com/u/4968682d58d1
——GitHub:https://github.com/selfconzrr