1.在AndroidManifest.xml文件中添加以下权限声明:
2.在MainActivity.java或你想使用外部存储的Activity中添加以下代码:
//检查读写权限是否被授权,如果没有,则请求授权
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED
|| ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE},
REQUEST_EXTERNAL_STORAGE);
}
3.如果用户拒绝了权限请求,可以在onRequestPermissionsResult()方法中处理:
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == REQUEST_EXTERNAL_STORAGE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//权限请求被授权
} else {
//权限请求被拒绝
}
return;
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
注意:在使用外部存储之前,必须检查是否拥有读写权限并且请求授权。同时,为了保证最佳用户体验,需要适当地处理用户拒绝权限请求的情况。