为什么文件保存在这里?

时间:2013-06-08 22:53:41

标签: android android-external-storage

当我用我的应用拍照时,我想像这样保存它

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);
        }

    }

那么,为什么文件没有保存到所需的位置?我该如何解决?

1 个答案:

答案 0 :(得分:1)

使用getFilesDir()代替getExternalFilesDir()将它们保存到内部存储器中。

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

这将设置您的新文件,并确保其存在的路径。