Android 哪些类可能需要*_帐户和相关权限?
我正在清理在其清单中请求以下内容的应用程序的代码:Android 哪些类可能需要*_帐户和相关权限?,android,user-accounts,Android,User Accounts,我正在清理在其清单中请求以下内容的应用程序的代码: android.permission.GET_帐户 android.permission.AUTHENTICATE\u帐户 android.permission.MANAGE_账户 android.permission.USE_凭证 android.permission.interaction\u跨用户\u FULL\br> 问题是:在搜索可能需要的类/包时,我应该查找哪些类/包导入 我已经搜索了AccountManager-没有找到。可能不再
android.permission.GET_帐户
android.permission.AUTHENTICATE\u帐户
android.permission.MANAGE_账户
android.permission.USE_凭证
android.permission.interaction\u跨用户\u FULL\br> 问题是:在搜索可能需要的类/包时,我应该查找哪些类/包导入 我已经搜索了AccountManager-没有找到。可能不再需要它们,但我希望知道我可以确定的时间点 [编辑]使用Lint设置来帮助找到这一点会更好。这是我的: 我看不到“缺少权限”选项。
如果我删除所有权限,包括所有网络、读取\电话\状态和读取\外部\存储、应用程序构建、启动,则WifiManager.getWifiState会崩溃,并出现与访问\ WIFI\状态相关的安全异常 [EDIT2]已启用“类型不匹配”检查。Android的用户使用了@requirepermission注释。
我的配置:编译SDK版本23,最小14,目标22,构建工具版本25.0.1我刚刚做了一次尝试,您确实应该得到一个缺少权限的警告。实际上,这甚至不是一个警告,而是一个错误。该选项位于
Settings->Editor->Inspections->Android->Constant and Resource Type Mismatches
,如果您阅读该描述,您将看到如下内容
调用需要权限而未声明的方法
舱单上的许可
本节将作为2.2.3节继续讨论
更新:
我刚刚用compile sdk 23检查了一个项目,AccountManager的源代码中实际上有
@requirepermission
如果您只是从清单中删除权限,您应该会在需要权限的地方得到一些lint警告,我guess@lelloman我没有看到。请参见编辑。听起来正是我需要的。如果默认情况下未启用,则为奇数。谢谢,我会在周一回到这个话题。好的,我已经启用了它并设置为“错误”,但它从来不会触发,即使是在一个需要互联网、摄像头和电话的测试应用程序上。我打赌@RequiresPermission注释的缺失。问题已更新。知道我还需要什么吗?嗯,听起来还是很奇怪,检查一下,@requirepermission实际上不是你调用的确切方法所必需的。