Ich versuche, ein Bild auf dem öffentlichen Speicherverzeichnis mit dem folgenden Code zu speichern. Wenn dies jedoch gespeichert wird/emuliert/0 und nicht in den öffentlichen Bilderordner. Ich habe im Grunde genau diesen Code in einer anderen App verwendet und es hat gut funktioniert. Weiß jemand, warum .getExternalStoragePublic Verzeichnis die barrierefreien/Pictures/nicht zurückgibt und stattdessen Speicher/emuliert/0 zurückgibt?Android - Vermeiden Sie den Speicher geschrieben/emulierten/0
I "verwendet-Erlaubnis android: name =" haben android.permission.WRITE_EXTERNAL_STORAGE "in meinem Manifest-Datei
File backupFile;
File appFolder;
String path= Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath() + "/CustomFolder";
appFolder = new File(path);
if (!appFolder.exists())
appFolder.mkdir();
String fileName = "picture.jpg"
backupFile = new File(appFolder, fileName);
FileOutputStream output = null;
try {
output = new FileOutputStream(backupFile);
output.write(bytes);
} catch (IOException e) {
e.printStackTrace();
} finally {
mImage.close();
if (null != output) {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
'appFolder.mkdir();' Überprüfen sie den Rückgabewert als Es könnte das Verzeichnis nicht erstellen. Zeigen Sie einen Toast an, wenn sie false zurückgibt, und fahren Sie nicht mit dem Code fort, sondern kehren Sie zurück. – greenapps
Warum veröffentlichen Sie alle, dass Code, wenn das einzige, was Sie sagen wollen, ist, dass 'Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_PICTURES) .getAbsolutePath()' ein anderer Ordner ist als erwartet. Oder nicht? – greenapps
'gibt nicht die barrierefreien/Bilder/zurück und gibt stattdessen Speicher/emuliert/0 zurück. Es wird nie '/ Pictures /' zurückgeben, aber es könnte '/ storage/emulated/0/Pictures' zurückgeben. – greenapps