Api 23权限编译时检查

时间:2015-12-07 20:32:57

标签: android android-6.0-marshmallow android-permissions

嘿我正在更新到android api 23,但我无法确保所有需要用户权限的点已经得到妥善处理。有没有办法找到所有需要用户授予权限的方法,然后手动浏览应用程序尝试所有分支?

2 个答案:

答案 0 :(得分:0)

您可以使用此插件执行您想要的操作: AndroidPermissionsUsage

但是,正如他在自述文件中提到的那样,这是一个实验,并不能完美地完成它应该做的事情。 因此,我建议您使用这个易于使用的库升级您的应用程序:Let

只需添加:

@AskPermission({
        Manifest.permission.READ_CONTACTS,
        Manifest.permission.CALL_PHONE,
        Manifest.permission.CAMERA
})
private void skipTutorial() {
// permissions needed for best experience are granted; let' go to the app's home screen
startActivity(new Intent(this, HomeActivity.class));
}

或此库:permiso

并使用此代码:

Permiso.getInstance().requestPermissions(new Permiso.IOnPermissionResult() {
@Override
public void onPermissionResult(Permiso.ResultSet resultSet) {
    if (resultSet.isPermissionGranted(Manifest.permission.READ_CONTACTS)) {
        // Contact permission granted!
    }
    if (resultSet.isPermissionGranted(Manifest.permission.READ_CALENDAR)) {
        // Calendar permission granted!
    }
}

@Override
public void onRationaleRequested(Permiso.IOnRationaleProvided callback, String... permissions) {
    Permiso.getInstance().showRationaleInDialog("Title", "Message", null, callback);
}
}, Manifest.permission.READ_CONTACTS, Manifest.permission.READ_CALENDAR);

答案 1 :(得分:0)

dangerous permissions.

列表中获取与匹配的清单中的所有权限

enter image description here

然后,对于每个权限,请转到编辑 - >在路径中找到 - >以及权限组的关键字,在我的示例中,我使用的是位置。

enter image description here

enter image description here

然后在结果面板中找到第一个最有可能出现此权限的情况,在本例中为MainActivity:

enter image description here