- 在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"/>
- 在使用的地方發起請求,系統會有一個彈窗,提示是否允許讀寫權限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 222);
- 選擇彈窗的允許後,會觸發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);
}
}
- 之後 在需要的地方創建文件夾,即可
但是 ,可是,可但是,做完以上還是沒有解決,繼續往下看
Android 10 改變了文件的存儲方式不允許應用隨意創建文件夾了,要用安卓提供的文件夾,提供的文件夾如下
解決辦法有兩個 :
- 使用Android規定的文件夾做操作
-
將gradle中的編譯環境,SDK的版本號修改到29以下
結束