0

J'ai des chemins sur la carte SD sur Android 7, qui sont non-éditables en utilisant l'accès instantané, donc je dois utiliser StorageVolume.createAccessIntent et donc utiliser DocumentFile plus tard au lieu de File . Mais le problème est que j'ai besoin d'utiliser File, parce que db lib (realm), que j'utilise, utilise simplement l'objet File pour stocker les données. Donc, le point est que je dois créer un répertoire et ce répertoire (son chemin) doit avoir un accès en écriture. Comment faire cela en utilisant DocumentFile.createDirectory() ou quelque chose comme ça?DocumentFile.createDirectory() qui sera accessible en écriture en tant qu'objet File

Répondre

0

Ainsi, le point est que je dois createDirectory et ce répertoire (son chemin) doit avoir accès en écriture

qui ne sont pas pris en charge.

Le seul accès du système de fichiers directement que vous devez removable storage est par getExternalFilesDirs(), getExternalCacheDirs() et getExternalMediaDirs() (toutes les méthodes sur Context). Si ceux-ci renvoient 2+ éléments, le second et les suivants sont des emplacements sur le stockage amovible qui sont uniques à votre application et que vous pouvez lire/écrire en utilisant des objets classiques File.

Sinon, conservez votre base de données de domaine sur external storage, puis copiez-la dans un stockage amovible à un moment approprié (par exemple, opération «d'exportation» ou de «sauvegarde» initiée par l'utilisateur).