0

アプリで写真を撮ったら、このように保存したい

Android/data/com.androidproject/files/Camera/photo.png

ただし、私の Log.v ステートメントによると、現在ここに保存されています

file:///storage/emulated/0/Android/data/com.androidproject/files/Camera/photo.png

これは私のコードです

private class ClickListener implements View.OnClickListener {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

            File dir = new File(getActivity().getExternalFilesDir("Camera"),
                    "photo.png");               
            Uri outputFileUri = Uri.fromFile(dir);
            Log.v("FILE", "" + outputFileUri);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
            startActivityForResult(intent, CALL_BACK);
        }

    }

では、ファイルが目的の場所に保存されないのはなぜですか? どうすれば修正できますか?

4

1 に答える 1

1

内部メモリに保存するgetFilesDir()代わりに使用します。getExternalFilesDir()

File f = new File(getFilesDir() + File.separator + "Camera" + File.separator + "photo.png");
f.mkdirs();

これにより、新しいファイルがセットアップされ、そのパスが存在することが確認されます。

于 2013-06-08T22:55:35.033 に答える