小编geN*_*Nia的帖子

Android,找到代码中的所有地方以请求权限

我正在开发一个Marshmallow设备的应用程序.源代码不是由我编写的,项目本身也很大.我目前正在使应用程序在需要时请求权限.

问题是:如何在代码中找到应该请求权限的所有地方?我正在使用Android Studio.

编辑
有人建议将api更改为23,然后运行应用程序并查看崩溃的位置.问题是应用程序不会在每个地方崩溃.

例如,在没有权限的情况下运行此代码会使应用程序崩溃:

TelephonyManager manager = (TelephonyManager) context
            .getSystemService(Context.TELEPHONY_SERVICE);
Run Code Online (Sandbox Code Playgroud)

虽然这个只返回一个空数组,而不是崩溃.

final String[] SELF_PROJECTION = new String[]{
    ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,};
Cursor cursor = context.getContentResolver()
    .query(ContactsContract.Profile.CONTENT_URI, SELF_PROJECTION, null, null, null);
Run Code Online (Sandbox Code Playgroud)

此外,Android Lint不会显示这些地方.我不确定它是否应该.

java android android-permissions

18
推荐指数
1
解决办法
2195
查看次数

标签 统计

android ×1

android-permissions ×1

java ×1