Rumah >Java >javaTutorial >Bagaimana untuk Mengatasi Isu Penciptaan Direktori dalam Android 10 dan Ke Atas?

Bagaimana untuk Mengatasi Isu Penciptaan Direktori dalam Android 10 dan Ke Atas?

Linda Hamilton
Linda Hamiltonasal
2024-12-06 09:42:12501semak imbas

How to Overcome Directory Creation Issues in Android 10 and Above?

Tidak Dapat Mencipta Direktori dalam Android 10: Penyelesaian dan Penyelesaian

Pengenalan

Dalam Android 10 dan versi yang lebih baru, pembangun mungkin menghadapi kesukaran membuat direktori di lokasi storan luaran. Artikel ini menerangkan sebab di sebalik isu ini dan menyediakan penyelesaian dan penyelesaian yang berpotensi.

Penerangan Isu

Android 10 dan keluaran seterusnya mempunyai akses terhad kepada lokasi sewenang-wenangnya pada storan luaran. Akibatnya, kaedah tradisional untuk mencipta direktori menggunakan File.mkdir() atau Files.createDirectory() mungkin gagal dengan AccessDeniedException.

Punca

Sekatan ini disebabkan oleh Langkah privasi Android yang dipertingkatkan, yang bertujuan untuk menghalang apl daripada mengakses data pengguna sensitif tanpa pengguna yang jelas kebenaran.

Penyelesaian dan Penyelesaian

Pembangun mempunyai beberapa pilihan untuk menangani isu ini:

Mengikut serta dalam Model Storan Lama

  • Tambah android:requestLegacyExternalStorage="true" ke elemen dalam manifes. Ini membolehkan apl terus menggunakan kebenaran storan luaran yang lama. Walau bagaimanapun, pilihan ini hanya tersedia untuk Android 10 dan 11.

Menggunakan Direktori Berasaskan Konteks

  • Gunakan kaedah seperti getExternalFilesDir() untuk mengakses direktori pada storan luaran yang apl mempunyai kebenaran untuk menulis kepadanya. Tiada kebenaran tambahan diperlukan untuk pendekatan ini. Walau bagaimanapun, data yang disimpan dalam direktori ini dipadamkan apabila apl dinyahpasang.

Menggunakan Rangka Kerja Akses Storan (SAF)

  • Gunakan SAF untuk meminta kebenaran pengguna untuk mengakses dan mengurus fail dan direktori tertentu. Kaedah ini memberikan kawalan yang lebih besar ke atas akses fail tetapi memerlukan kebenaran tambahan dan interaksi pengguna.

Storan Media

  • Jika kandungan yang akan disimpan ialah media -berkaitan, pertimbangkan untuk menggunakan MediaStore untuk meletakkannya di lokasi media standard. Pendekatan ini memastikan organisasi dan kebolehaksesan yang betul dalam pustaka media peranti.

Atas ialah kandungan terperinci Bagaimana untuk Mengatasi Isu Penciptaan Direktori dalam Android 10 dan Ke Atas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn