Rumah >Java >javaTutorial >Mengapa Saya Tidak Boleh Mencipta Direktori dalam Android 10, Walaupun dengan Kebenaran yang Diperlukan?
Saya tidak dapat membuat direktori dalam Android 10. Ia berfungsi pada peranti sehingga Android Oreo saya mencuba dua cara untuk mencipta folder.
MenggunakanFile f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pastebin"); if (!f.isFile()) { if (!(f.isDirectory())) { success = f.mkdir(); } }yang bermaksud direktori itu tidak dicipta.
Menggunakan
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(); } } }
Saya telah melaksanakan kebenaran masa jalan dan
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)`
semuanya ditetapkan.
Jawapan:
Seperti yang pertama kali didedahkan pada Mac 2019, anda tidak lagi boleh mengakses mana-mana storan luaran atau storan boleh alih keluar secara lalai pada Lokasi Android 10. Ini termasuk Environment.getExternalStorageDirectory() dan kaedah lain pada Environment (contohnya, getExternalStoragePublicDirectory()).
Untuk Android 10 dan 11, anda boleh menambahkan android:requestLegacyExternalStorage="true" pada elemenGunakan kaedah pada Konteks (seperti getExternalFilesDir()) untuk mengakses direktori pada storan luaran yang boleh ditulis oleh apl anda. Anda tidak memerlukan sebarang kebenaran untuk menggunakan direktori ini pada Android 4.4. Walau bagaimanapun, apabila apl anda dinyahpasang, data yang disimpan di sini akan dipadamkan.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Mencipta Direktori dalam Android 10, Walaupun dengan Kebenaran yang Diperlukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!