Android 6.0 Schreiben auf externe SD-Karte
Ich habe alles versucht, um schreiben auf die externe SD-Karte auf Android 6.0, aber ich bin nicht fähig zu schreiben Sie es auf.
Ich Tat Forschung auf stackoverflow und fand viele Dinge, aber keines funktioniert. Hier ist mein code
String extPath = System.getenv("SECONDARY_STORAGE") + "/Android/data/com.gvm.externalstorage.externalstoragetest/";
File file = new File(extPath,"myFiles");
if (!file.exists()) {
boolean dirResult = file.mkdirs();
Log.e("Directory Exist", dirResult + " Directory created");
} else {
Log.e("Directory Exist", "Exist");
Log.e("Direcotry Path",file.getAbsolutePath());
}
//String displayname = fileName.replace("%20", " ");
File outputFile = new File(file, "mytest5.txt");
outputFile.createNewFile();
Dieser code funktioniert auf Android 5.0 nicht aber auf Android 6.0.
Dann habe ich versucht, diesen Weg als gut, und das gibt mir die Erlaubnis Fehler, ich habe alle Berechtigung und verwalteten code zur Laufzeit die Berechtigung als gut.
/mnt/media_rw/6AC9-083B
File write failed: java.io.IOException: open failed: EACCES (Permission denied)
Wenn jemand mir helfen kann, wäre es toll, da ich versuche die letzten 3 Tage.
Dank,
Anvesh
- Posten Sie Ihre Berechtigung code...das Problem ist von der Erlaubnis-Seite nur
- Was ist
System.getenv("SECONDARY_STORAGE")
? verwendenEnvironment.getExternalStoragePublicDirectory
- Danke für die Antwort, dachte ich und habe meine Antwort auf diese Frage, wie auch. Es könnte jemand helfen.
InformationsquelleAutor Anvesh | 2016-08-17
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach langer harter Arbeit habe ich herausgefunden, eine Lösung. In Android 6.0 wird es nicht mehr geben, Sie SD-Karte Pfad immer mit dieser:
oder diese
Also ich abgerufen externe SD-Karte Pfad mit dieser
Rest wird alles gleich bleiben, für die Erlaubnis und alle.
Danke an diejenigen die mir geholfen haben.
Aus der API-23+(6.0) bitten Sie die lese - /schreib-Berechtigungen, auch wenn Sie bereits in Ihrem manifest bekannt als Anfordern von Berechtigungen zur Laufzeit.
von docs
java
AndroidManifest.xml
Ich denke, dass u sollten überprüfen, Ihre app zuerst um Erlaubnis, um sicherzustellen, dass Ihre storage-Erlaubnis ist eingeschaltet.
Wenn es keine Speicher-Genehmigung:
Überprüfen Sie bitte, wenn u verwenden diese Berechtigung in Ihre AndroidManifest
Wenn die Speicher-Berechtigung wurde deaktiviert:
Bitte überprüfen Sie Ihre runtime-Berechtigung, vielleicht u kann bitte diesen code
Wenn immer noch problem haben, bitte versuchen Sie, ändern Sie Ihre Datei-Pfad :
Beste Grüße. Ich hoffe, dies kann helfen, u
@Anvesh eine Andere zuverlässige Methode, die ich verwende:
Nach viel Forschung fand ich die ABSOLUTE LÖSUNG. ES FUNKTIONIERT.