私は次のように写真を保存しています:
File dcimDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
File picsDir = new File(dcimDir, "MyPics");
picsDir.mkdirs(); //make if not exist
File newFile = new File(picsDir, "image.png"));
OutputStream os;
try {
os = new FileOutputStream(newFile);
target.compress(CompressFormat.PNG, 100, os);
os.flush();
os.close();
b.recycle();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
ただし、ウィンドウを介して画像を探すと、それは内部メモリにあり、ギャラリーはこれを確認します:
この最後のものは紛らわしいです。内部メモリと書かれていますがsdcard0
、ファイルパスにも含まれています。
では、外部が外部を意味しないのはいつですか?それはデバイスのセットアップの問題ですか、それとも私の使い方/理解不足getExternalStoragePublicDirectory
ですか?