Ecrire sur cate externe (SD)
Bonjour,
J'essaie d'écrire sur ma carte externe (sd), mais je retrouve mes fichiers sur la mémoire interne du téléphone.
Merci d'avance pour votre aide.
Bernard
Mon code :
Code:
1 2 3 4
|
File ContactsFolderDir = new File(Environment.getExternalStorageDirectory() + File.separator + "MesApplis" + File.separator + "Alancer");
String myFileAlancer = ContactsFolderDir + File.separator + "ListBoot.txt";
File file = new File(myFileAlancer); |
Mon fichier Manifest :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="preferExternal"
package="bernard.messtart">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest> |
Pour les personnes que çà intéresse, je viens de trouver la solution.
Il semblerait que Google n'autorise plus l'écriture sur la carte Sd depuis une application sur certain téléphone (ou version d'android).
Pour rétablir cette permission, il faut modifier le fichier /system/etc/permissions, et il se nomme platform.xml
Il faut être root pour modifier ce fichier.
Voir le tuto que j'ai trouvé içi : http://supertos.free.fr/supertos.php?page=1478
J'ai testé cette manipulation et tout fonctionne parfaitement.