Di Android Q memperkenalkan fitur penyimpanan Scoped baru , yang mengatakan:
aplikasi yang menargetkan Android 10 (API level 29) dan lebih tinggi diberikan akses scoping ke penyimpanan eksternal, atau penyimpanan scoped, secara default. Aplikasi semacam itu hanya memiliki akses ke direktori khusus aplikasi pada penyimpanan eksternal, serta jenis media tertentu yang telah dibuat aplikasi.
Saya memiliki aplikasi saya yang membuat basis data SQLite pada penyimpanan eksternal, sehingga ketika aplikasi mencopot basis data masih hidup dan dapat digunakan nanti sebagai pemulihan atau digunakan di luar perangkat Android (misalkan di PC)
Bagaimana saya harus mencapai efek yang sama dengan Android Q? Lebih tepatnya jika database disimpan dalam direktori publik eksternal - bagaimana saya bisa membaca database ini menggunakan standar SQLiteOpenHelper
?
Jawaban:
Anda dapat mencoba menggunakan solusi dari dokumen:
https://developer.android.com/training/data-storage/compatibility
requestLegacyExternalStorage
ketrue
dalam file manifes aplikasi Anda:sumber
android:requestLegacyExternalStorage
akan hilang ...Scoped Storage will be required in next year’s major platform release for all apps, independent of target SDK level
. Penyimpanan Scoped Android Q: Praktik Terbaik dan Pembaruan