Android 6.0 Marshmallow. Kann nicht auf SD-Karte schreiben
Ich habe eine App, die externen Speicher zum Speichern von Fotos verwendet. Je nach Bedarf werden in seinem Manifest die folgenden Berechtigungen angeforder
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
und es verwendet die folgenden, um das erforderliche Verzeichnis abzurufen
File sdDir = Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd", Locale.US);
String date = dateFormat.format(new Date());
storageDir = new File(sdDir, getResources().getString(
R.string.storagedir)
+ "-" + date);
// Create directory, error handling
if (!storageDir.exists() && !storageDir.mkdirs()) {
... fails here
Die App funktioniert problemlos unter Android 5.1 bis 2.3. es ist seit über einem Jahr bei Google Play.
Nach einem Upgrade eines meiner Testtelefone (Android One) auf 6 wird beim Versuch, das erforderliche Verzeichnis "/sdcard/Pictures/myapp-yy-mm".@" zu erstellen, ein Fehler zurückgegebe
Die SD-Karte ist als "Tragbarer Speicher" konfiguriert. Ich habe die SD-Karte formatiert. Ich habe es ersetzt. Ich habe neu gestartet. Alles ohne Erfolg.
Auch die integrierte Android-Screenshot-Funktion (über Power + Lower Volume) schlägt fehl, "weil der Speicherplatz begrenzt ist oder die App oder Ihr Unternehmen dies nicht zulässt".
Irgendwelche Ideen