- 在AndroidManifest.xml中添加對應的權限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
- 在使用的地方發(fā)起請求,系統(tǒng)會有一個彈窗,提示是否允許讀寫權限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 222);
- 選擇彈窗的允許后,會觸發(fā)onRequestPermissionsResult這個函數,重寫這個函數,添加自己的特定需求
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (!hasAllPermissionsGranted(grantResults)) {
return;
}
switch (requestCode) {
case 222:
Toast.makeText(getApplicationContext(), "已申請權限", Toast.LENGTH_SHORT).show();
default:
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
- 之后 在需要的地方創(chuàng)建文件夾,即可
但是 ,可是,可但是,做完以上還是沒有解決,繼續(xù)往下看
Android 10 改變了文件的存儲方式不允許應用隨意創(chuàng)建文件夾了,要用安卓提供的文件夾,提供的文件夾如下

解決辦法有兩個 :
- 使用Android規(guī)定的文件夾做操作
-
將gradle中的編譯環(huán)境,SDK的版本號修改到29以下
結束
