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 回答