2016-08-01 15 views

Antwort

2

Kurze Antwort: Nein. Wenn es eine einfache Möglichkeit gäbe, erforderliche Berechtigungen zu umgehen, wären sie ziemlich sinnlos. Lesen Sie die Dokumentation unter:

https://developer.android.com/training/basics/data-storage/files.html

auf externe Speicher zu schreiben, müssen Sie die Berechtigung auf externe Speicher zu schreiben.

Warum möchten Sie eine Aktion durchführen, für die Sie keine Genehmigung erhalten haben?

+0

Ich habe einen Downvote zu diesem Thema gesehen; sich darum kümmern zu erklären? – EJoshuaS

+1

Ich kann nicht für andere Downvoters sprechen, aber es ist nicht wahr, dass zum Schreiben auf externen Speicher immer explizite Berechtigung zum Schreiben auf externen Speicher benötigt wird. Die Regeln sind viel komplizierter. Außerdem hat das OP nicht nach einer Möglichkeit gefragt, die erforderlichen Berechtigungen zu umgehen. Er bat um eine Möglichkeit, Daten in externen Speicher zu schreiben, ohne Schreibberechtigung im Manifest hinzuzufügen. Das ist eine vernünftige Frage und in der Tat ist es möglich, wenn Sie in die richtigen Verzeichnisse schreiben. – LarsH

3

Es hängt davon ab, wo Sie die Dateien schreiben möchten und auf welche SDKs Sie abzielen. Wenn Sie die Dateien in die externen Verzeichnisse Ihrer App schreiben möchten (getExternalFilesDir(String) und getExternalCacheDir()) und Sie auf SDK19 + abzielen, ist die Berechtigung nicht erforderlich. Wenn Sie in andere Bereiche schreiben oder SDK < 19 targetieren möchten, benötigen Sie die Berechtigung. JEDOCH, basierend auf meinen Erfahrungen, gibt es einen Fehler in einigen Lollipop-Versionen, der dazu führt, dass die Erlaubnis immer noch benötigt wird. Also setze ich normalerweise <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="22"/> in mein Manifest.

+0

danke für diesen Einblick – shekar