读取外部存储许可在onCreate方法在版本的Android M错误
if (ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
Manifest.permission.READ_EXTERNAL_STORAGE)) {
} else {
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
PERMISSION_REQUEST_CODE);
}
在onRequestPermissionsResult
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[],int[]grantResults) {
switch (requestCode) {
case PERMISSION_REQUEST_CODE: {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
String path = Environment.getExternalStorageState();
} else {
}
return;
}
}
我已经努力尝试但都崩溃的应用程序结束。权限不被授予应用程序。为什么?我做错了什么?您的帮助将不胜感激。
你能从日志发布异常时崩溃发生? –
AndroidRuntime:致命例外:主要 进程:com.google.android.packageinstaller,PID:14436 java.lang.RuntimeException:无法启动活动ComponentInfo {com.google.android.packageinstaller/com.android.packageinstaller.permission。 ui.GrantPermissionsActivity}:java.lang.NullPointerException:尝试获取空数组的长度 at android.app.ActivityThread.performLaunchActivity – Abdullah