下記のコードを使用して、パブリックストレージディレクトリに画像を保存しようとしています。ただし、これがストレージ/エミュレートされた/ 0に保存され、パブリックピクチャフォルダには保存されません。私は基本的に別のアプリでこの正確なコードを使用しており、うまくいきました。誰かが.getExternalStoragePublicディレクトリがアクセス可能な/ Pictures /を返さず、代わりにストレージ/エミュレートされた/ 0を返す理由を知っていますか?Android - ストレージ/エミュレート/ 0に保存しないでください
私は「アンドロイド許可使用しています:名=」持っているandroid.permission.WRITE_EXTERNAL_STORAGE「私のマニフェストファイル内
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();'として戻り値をチェックディレクトリの作成に失敗することがあります。 falseを返した場合はトーストを表示し、コードを続行せずにリターンします。 – greenapps
'Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath()'が期待どおりのフォルダではないということだけを言いたいときは、なぜそのコードをすべてポストしていますか?か否か? – greenapps
'はアクセス可能な/ Pictures /を返しておらず、代わりにstorage/emulated/0'を返しています。 '/ Pictures /'を返すことはありませんが、 '/ storage/emulated/0/Pictures'を返すことができます。 – greenapps