2016-06-21 8 views
0

Ich habe über das neue Berechtigungsmodell für Android Marshmallow gelernt, aber ich habe etwas Verwirrung über die Speicherberechtigungen.Android Laufzeit Berechtigung für externen Speicher

android.permission-group.STORAGE ist eine gefährliche Erlaubnis, für die wir den Benutzer fragen müssen.

In meinem Anwendungsfall schreibe ich nur in das private Verzeichnis meiner App im externen Speicher.

Ich habe gelesen, dass für KitKat, müssen wir diese Berechtigungen nicht anfordern, wenn ich nur Daten nur für meine App speichern.

kann ich nur Context.getExternalFilesDirs()

Aber das ist für API 19/20 Meine app Ziele 16 so gehe davon aus ich die oben nicht mir gelten.

Meine Hauptfrage ist, dass ich die Glide-Bibliothek für das Bild-Caching und den Android-Download-Manager verwenden, um eine Datei herunterzuladen, die im externen Verzeichnis meiner App gespeichert wird. Wie gehe ich mit den externen Speicherberechtigungen für diese Komponenten um Muss ich das private Verzeichnis meiner App verwenden? Fügen Sie diese auf Ihrem Manifest

Antwort

0

Um Daten auf externe Speicher zu schreiben, die Sie app-private sind, müssen 19 die WRITE_EXTERNAL_STORAGE Erlaubnis auf etwas unter API verwenden:

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

Seit Android 4.4 (API 19) Sie don Ich brauche das nicht, aber wenn Ihre Anwendung niedrigere APIs unterstützt, wie Sie gesagt haben, dann brauchen Sie das oben genannte. Weitere Informationen zu Android-Speicheroptionen finden Sie unter here.

+0

Benötige ich es, wenn ich nur in mein App-Verzeichnis schreibe? und nicht irgendwo öffentlich wie Downloads oder Bilder usw. –

+0

@ErsenOsman Es tut mir leid, ich habe meine Antwort bearbeitet. Es stellt sich heraus, dass Sie diese Berechtigung nur benötigen, wenn Sie APIs 18 und niedriger unterstützen. Da du es tust, überprüfe meine bearbeitete Antwort. –

Verwandte Themen