Android sdk23 找地方更新和请求权限

Posted

技术标签:

【中文标题】Android sdk23 找地方更新和请求权限【英文标题】:Android sdk23 find places to update and request permission 【发布时间】:2016-06-28 04:57:15 【问题描述】:

可能是我遗漏了一些东西,但是有没有办法通过使用 sdk23 的 android 应用程序所需的新权限检查快速了解我必须更新的所有地方?

作为开发人员,考虑到需要更新的多个地方,这种变化非常令人沮丧。我想确保我不会忘记/错过任何一个。

我说的是在使用限定为“危险”的权限之前找到需要使用这两个功能的地方

ContextCompat.checkSelfPermission()
ActivityCompat.requestPermissions()

https://developer.android.com/training/permissions/requesting.html

危险的权限 https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous

编辑

在某些情况下,代码会抛出 SecurityException,例如在未获得授权的情况下尝试使用 location。但在其他情况下,它只是像这里一样返回 null

AccountManager.get(context).getAccountsByType("com.google")

【问题讨论】:

【参考方案1】:

使用 Android Studio,打开 Analyze 菜单并运行 Inspect Code... 在结果中,打开 Android,然后打开 Constant and Resource Type Mismatches。查找以“呼叫需要权限...”开头的条目

【讨论】:

有一些额外的情况没有被这个捕获,我只是在我的应用程序崩溃时才发现:AccountManager.get(context).getAccountsByType("com.google") 返回 null 而不是抛出 SecurityException .阅读更多:***.com/questions/32162164/… 好收获。如果有人看到这一点并且知道 android lint 未捕获的任何其他情况,请发表评论。 这个方法没有捕获所有的权限,就像在我的情况下它只检测到位置的所有权限。 如果我不使用 Android Studio 怎么办?如何找到所有需要运行时权限检查的代码路径? 我不知道,对不起。

以上是关于Android sdk23 找地方更新和请求权限的主要内容,如果未能解决你的问题,请参考以下文章

READ_CONTACTS 权限不起作用,除非我在 android SDK 23+ 上手动关闭和打开它

Android SDK6.0 运行时权限问题

Android 6.0以上动态请求权限的工具类

在 Android 6.0 (sdk 23) 中检查自定义权限

解决方法:android 6.0(api 23) SDK,不再提供org.apache.http.*(只保留几个类)

Facebook SDK 3.7 for Android 请求电子邮件权限