Probleme bei der Erstellung von Marshmallow-Android-Ordnern
Haben Sie Probleme beim Erstellen von Ordnern auf Android 6.0 (Marshmallow)? Hier sind Sie richtig!
Einige Marshmallow-Geräte zeigen Instabilität beim Erstellen neuer Ordner. Während unter Android 5.0 alles einwandfrei funktioniert, gelingt die Erstellung unter Marshmallow manchmal und manchmal nicht. Warum ist das so?
Berechtigungsprobleme
Marshmallow führt eine strengere Kontrolle über externe Speicherberechtigungen ein. Für Android M und höher ist vor der Verwendung von externem Speicher eine ausdrückliche Benutzererlaubnis erforderlich. Wenn Sie diese Berechtigung nicht anfordern, kann Ihre Anwendung das Verzeichnis nicht erstellen.
Lösung
Um erfolgreich einen Ordner auf Marshmallow zu erstellen, müssen Sie vom Benutzer die Berechtigung WRITE_EXTERNAL_STORAGE anfordern. Sie können dies mit dem folgenden Code erreichen:
<code class="java">@Override protected void onCreate(Bundle savedInstanceState) { ... if (CheckPermission(MyDevIDS.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { // 拥有写入权限 createApplicationFolder(); } else { // 请求运行时权限 RequestPermission(MyDevIDS.this, Manifest.permission.WRITE_EXTERNAL_STORAGE, REQUEST_RUNTIME_PERMISSION); } }</code>
CheckPermission und RequestPermission sind Hilfsmethoden, die prüfen, ob die Anwendung über die Berechtigung WRITE_EXTERNAL_STORAGE verfügt, und diese anfordern, wenn sie noch nicht erteilt wurde.
<code class="java">public static void createApplicationFolder() { File f = new File(Environment.getExternalStorageDirectory(), File.separator + Config.VIDEO_COMPRESSOR_APPLICATION_DIR_NAME); f.mkdirs(); ... }</code>
Mit diesen Änderungen kann Ihre Anwendung zuverlässig Ordner auf Marshmallow und höher erstellen.
Das obige ist der detaillierte Inhalt vonWie behebe ich Probleme bei der Ordnererstellung auf Android Marshmallow (6.0)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!