Android 創建文件夾失敗(File.mkdirs())

  1. 在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"/>
  1. 在使用的地方發起請求,系統會有一個彈窗,提示是否允許讀寫權限
 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 222);  
  1. 選擇彈窗的允許後,會觸發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);
        }
    }
  1. 之後 在需要的地方創建文件夾,即可

但是 ,可是,可但是,做完以上還是沒有解決,繼續往下看

Android 10 改變了文件的存儲方式不允許應用隨意創建文件夾了,要用安卓提供的文件夾,提供的文件夾如下


解決辦法有兩個 :

  1. 使用Android規定的文件夾做操作
  2. 將gradle中的編譯環境,SDK的版本號修改到29以下


結束

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章