Ceci est mon AndroidManifest:ne peut pas écrire sur la mémoire du téléphone sur Android 6
<permission
android:name="nl.hgrams.passenger.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.LOCATION_HARDWARE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="nl.hgrams.passenger.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
Et ceci est l'erreur que je reçois dans logcat:
12-02 10:03:30.532: W/System.err(11348): java.io.IOException: open failed: EACCES (Permission denied)
12-02 10:03:30.532: W/System.err(11348): at java.io.File.createNewFile(File.java:939)
12-02 10:03:30.532: W/System.err(11348): at nl.hgrams.passenger.utils.Utils.appendLog(Utils.java:829)
12-02 10:03:30.532: W/System.err(11348): at nl.hgrams.passenger.PSLocationCenter.onCreate(PSLocationCenter.java:233)
12-02 10:03:30.532: W/System.err(11348): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1013)
12-02 10:03:30.532: W/System.err(11348): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4707)
12-02 10:03:30.532: W/System.err(11348): at android.app.ActivityThread.-wrap1(ActivityThread.java)
12-02 10:03:30.532: W/System.err(11348): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
12-02 10:03:30.532: W/System.err(11348): at android.os.Handler.dispatchMessage(Handler.java:102)
12-02 10:03:30.532: W/System.err(11348): at android.os.Looper.loop(Looper.java:148)
12-02 10:03:30.532: W/System.err(11348): at android.app.ActivityThread.main(ActivityThread.java:5417)
12-02 10:03:30.532: W/System.err(11348): at java.lang.reflect.Method.invoke(Native Method)
12-02 10:03:30.532: W/System.err(11348): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
12-02 10:03:30.533: W/System.err(11348): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
12-02 10:03:30.533: W/System.err(11348): Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
12-02 10:03:30.533: W/System.err(11348): at libcore.io.Posix.open(Native Method)
12-02 10:03:30.533: W/System.err(11348): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
12-02 10:03:30.533: W/System.err(11348): at java.io.File.createNewFile(File.java:932)
12-02 10:03:30.533: W/System.err(11348): ... 12 more
12-02 10:03:30.535: W/System.err(11348): java.io.FileNotFoundException: /storage/emulated/0/Passenger/passenger_log.txt: open failed: EACCES (Permission denied)
12-02 10:03:30.535: W/System.err(11348): at libcore.io.IoBridge.open(IoBridge.java:452)
12-02 10:03:30.535: W/System.err(11348): at java.io.FileOutputStream.<init>(FileOutputStream.java:87)
12-02 10:03:30.535: W/System.err(11348): at java.io.FileWriter.<init>(FileWriter.java:58)
12-02 10:03:30.535: W/System.err(11348): at nl.hgrams.passenger.utils.Utils.writeToLog(Utils.java:905)
12-02 10:03:30.535: W/System.err(11348): at nl.hgrams.passenger.utils.Utils.appendLog(Utils.java:849)
12-02 10:03:30.535: W/System.err(11348): at nl.hgrams.passenger.PSLocationCenter.onCreate(PSLocationCenter.java:233)
12-02 10:03:30.535: W/System.err(11348): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1013)
12-02 10:03:30.535: W/System.err(11348): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4707)
12-02 10:03:30.535: W/System.err(11348): at android.app.ActivityThread.-wrap1(ActivityThread.java)
12-02 10:03:30.535: W/System.err(11348): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
12-02 10:03:30.535: W/System.err(11348): at android.os.Handler.dispatchMessage(Handler.java:102)
12-02 10:03:30.535: W/System.err(11348): at android.os.Looper.loop(Looper.java:148)
12-02 10:03:30.536: W/System.err(11348): at android.app.ActivityThread.main(ActivityThread.java:5417)
12-02 10:03:30.536: W/System.err(11348): at java.lang.reflect.Method.invoke(Native Method)
12-02 10:03:30.536: W/System.err(11348): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
12-02 10:03:30.536: W/System.err(11348): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
12-02 10:03:30.536: W/System.err(11348): Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
12-02 10:03:30.536: W/System.err(11348): at libcore.io.Posix.open(Native Method)
12-02 10:03:30.536: W/System.err(11348): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
12-02 10:03:30.536: W/System.err(11348): at libcore.io.IoBridge.open(IoBridge.java:438)
12-02 10:03:30.536: W/System.err(11348): ... 15 more
je trouve que je dois faire , pour les déclarer dans l'API 23+:
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
};
mais il ne reconnaît pas les permissions si je les ai définies comme ça.
cannot resolve symbol Manifest.permission.Read/Write...
J'ai essayé le code à partir de là et il dit pour: Manifest.permission.READ_EXTERNAL_STORAGE symbole non résolu. Même si je l'ai dans mon manifeste. seule l'autorisation qui apparaît est MAPS_RECEIVE. Dois-je aussi faire cela pour les autres permissions? –
peut vous montrer quelques journaux –
Devait ajouter les autorisations comme celui-ci, de sorte qu'ils sont visibles: –