【发布时间】:2017-08-18 06:51:23
【问题描述】:
我想为我的应用授予存储权限。我的代码在 Marshmallow 之前运行完美,在 Nougat 中唯一的问题
即使从设置中手动授予权限,以下方法在牛轧糖中总是返回 false。
private boolean checkWriteExternalPermission() {
String permission = "android.permission.WRITE_EXTERNAL_STORAGE";
int res = getApplicationContext().checkCallingOrSelfPermission(
permission);
return (res == PackageManager.PERMISSION_GRANTED);
}
我将它用于牛轧糖并允许许可,但上述方法仍然返回 false。
void storagePermission(){
StorageManager sm = (StorageManager)getSystemService(Context.STORAGE_SERVICE);
StorageVolume volume = sm.getPrimaryStorageVolume();
Intent intent = volume.createAccessIntent(Environment.DIRECTORY_PICTURES);
startActivityForResult(intent, 1);
}
请帮我解决这个问题。
【问题讨论】:
-
你为什么使用
checkCallingOrSelfPermission()?当你切换到usingcheckSelfPermission()时,会发生什么? -
还有其他方法可以检查 7+ 的权限是否授予?或者我需要为此始终填充权限对话框?
标签: android android-7.0-nougat