Android Ecriture sur stockage externe (carte SD)


Exemple

Vous pouvez également lire et écrire depuis / vers une carte mémoire (carte SD) présente sur de nombreux appareils Android. Les fichiers de cet emplacement sont accessibles par d'autres programmes, également directement par l'utilisateur après la connexion du périphérique au PC via le câble USB et l'activation du protocole MTP.

La localisation de la carte SD est un peu plus problématique. La classe Environment contient des méthodes statiques pour obtenir des "répertoires externes" qui devraient normalement se trouver dans la carte SD, également des informations si la carte SD existe et est accessible en écriture. Cette question contient des réponses précieuses sur la manière de s’assurer que le bon emplacement sera trouvé.

L'accès au stockage externe nécessite des autorisations dans votre manifeste Android:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Pour les anciennes versions d'Android, il est suffisant de placer ces autorisations dans un manifeste (l'utilisateur doit approuver lors de l'installation). Toutefois, à partir d'Android 6.0, Android demande l'approbation de l'utilisateur au moment du premier accès, et vous devez prendre en charge cette nouvelle approche. Sinon, l'accès est refusé quel que soit votre manifeste.

Dans Android 6.0, vous devez d’abord vérifier l’autorisation, puis, s’il n’est pas accordé, le demander. Les exemples de code se trouvent dans cette question SO .