当我用我的应用拍照时,我想像这样保存它
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);
}
}
那么,为什么文件没有保存到所需的位置?我该如何解决?
答案 0 :(得分:1)
使用getFilesDir()
代替getExternalFilesDir()
将它们保存到内部存储器中。
File f = new File(getFilesDir() + File.separator + "Camera" + File.separator + "photo.png");
f.mkdirs();
这将设置您的新文件,并确保其存在的路径。