3

我有使用的应用程序 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

它在 Android 6.0 上自动授予,但我可以在设置中撤销它。想检查它是否被授予以防用户撤销它,所以我这样做:

int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
    //OK permission granted, let's do stuff
} else {
    //I'll better ask for permission
}

有趣的是,条件总是得到满足,即使权限被手动撤销。并且应用程序失败了......对我来说它看起来像一个错误,是它还是我错过了什么?

4

1 回答 1

4

您缺少一些东西:atargetSdkVersion为 23 或更高。

如果您的targetSdkVersion年龄为 22 岁或更低,则您无法确定用户是否从“设置”中授予或撤销了权限。

于 2015-11-04T15:36:31.313 回答