//1.检查是否已经有了权限
int p = ActivityCompat.checkSelfPermission(this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (p == PackageManager.PERMISSION_DENIED) {
//权限拒绝,那么申请某个权限
ActivityCompat.requestPermissions(this,
new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE},
998
);
} else {
//权限同意执行自己的方法
startDownload();
}
回调方法
@Override
public void onRequestPermissionsResult(
int requestCode,
@NonNull String[] permissions,
@NonNull int[] grantResults) {
if (requestCode == 998) {
for (int i = 0; i < permissions.length; i++) {
String permission = permissions[i];
if (permission.equals(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
int p = grantResults[i];
if (p == PackageManager.PERMISSION_GRANTED) {
startDownload();//自己的方法
}
}
}
}
}