Android 10 中無法建立目錄的問題
I'm unable to create directory in Android 10. It's working on devices tilling Android . I tried two ways for creating folders.
File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pastebin"); if (!f.isFile()) { if (!(f.isDirectory())) { success = f.mkdir(); } }
Here, the variable success is always>Here, the variable success is always> which means the directory isn't created.
File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pastebin"); if (!f.isFile()) { if (!(f.isDirectory())) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { try { Files.createDirectory(Paths.get(f.getAbsolutePath())); } catch (IOException e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), R.string.unable_to_download, Toast.LENGTH_LONG).show(); } } else { f.mkdir(); } } }
which causes thisception> I've implemented the run-time permissions and
pzy64.pastebinpro W/System.err: java.nio.file.AccessDeniedException: /storage/emulated/0/Pastebin pzy64.pastebinpro W/System.err: at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:391) pzy64.pastebinpro W/System.err: at java.nio.file.Files.createDirectory(Files.java:674)`
從2019 年3 月首次披露的那樣,您不再能默認訪問Android 10 上外部存儲或可移動存儲中的任意位置。這包括 Environment.getExternalStorageDirectory() 和 Environment 上的其他方法(例如,getExternalStoragePublicDirectory())。 對於 Android 10 和 11,您可以將 android:requestLegacyExternalStorage="true" 加入清單中的
否則,您的選擇是:
使用 Context 上的方法(例如 getExternalFilesDir())來存取外部儲存上您的應用程式可以寫入的目錄。您無需任何權限即可在 Android 4.4 上使用這些目錄。但是,當您的應用程式卸載時,儲存在此處的資料將被刪除。 使用儲存存取框架(例如 ACTION_OPEN_DOCUMENT 和 ACTION_CREATE_DOCUMENT)。以上是為什麼即使具有必要的權限,我也無法在 Android 10 中建立目錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!