在AndroidManifest中添加你所需要的权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在代码文件中首先检查系统是否>=6.0
public void checkPermission()
{
int SdkVersion = 0;
String[] Permission={
Manifest.permission.WRITE_EXTERNAL_STORAGE};
try
{
final PackageInfo packageInfo= this.getPackageManager().getPackageInfo(this.getPackageName(), 0);
SdkVersion = packageInfo.applicationInfo.targetSdkVersion;
}
catch (PackageManager.NameNotFoundException e)
{
e.printStackTrace();
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (SdkVersion >= Build.VERSION_CODES.M) {
boolean allGranted = checkPermissionAllGranted(Permission);
if (allGranted) {
return;
}
ActivityCompat.requestPermissions(this,
Permission, 1);
}
}
}
检查是否拥有指定的所有权限
private boolean checkPermissionAllGranted(String[] permissions) {
for (String permission : permissions) {
if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
return true;
}
申请权限结果返回处理
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 1) {
boolean allGranted = true;
for (int grant : grantResults) {
if (grant != PackageManager.PERMISSION_GRANTED) {
allGranted = false;
break;
}
}
if (allGranted) {
} else {
}
}
}