16

私は次のように写真を保存しています:

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ですか?

4

1 に答える 1