Dans Android Q, a introduit une nouvelle fonctionnalité de stockage Scoped , qui dit:
les applications qui ciblent Android 10 (niveau 29 de l'API) et versions ultérieures bénéficient d'un accès limité au stockage externe ou au stockage limité, par défaut. Ces applications ont uniquement accès au répertoire spécifique à l'application sur le stockage externe, ainsi qu'aux types de médias spécifiques que l'application a créés.
J'ai mon application qui crée une base de données SQLite sur un stockage externe, de sorte que lorsque l'application désinstalle la base de données encore en vie et peut être utilisée plus tard comme récupération ou être utilisée en dehors de l'appareil Android (disons sur PC)
Comment dois-je obtenir le même effet avec Android Q? Plus précisément si la base de données est stockée dans un répertoire public externe - comment puis-je lire cette base de données en utilisant le standard SQLiteOpenHelper
?
Réponses:
Vous pouvez essayer d'utiliser la solution à partir des documents:
https://developer.android.com/training/data-storage/compatibility
requestLegacyExternalStorage
surtrue
dans le fichier manifeste de votre application:la source
android:requestLegacyExternalStorage
ne disparaisse ...Scoped Storage will be required in next year’s major platform release for all apps, independent of target SDK level
. Stockage de portée Android Q: meilleures pratiques et mises à jour