我希望照片能保存在這裡:
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);
}
}
為什麼不能保存在我期望的位置?怎麼改?
用getFilesDir()
代替`getExternalFilesDir()來保存:
File f = new File(getFilesDir() + File.separator + "Camera" + File.separator + "photo.png");
f.mkdirs();
這樣能調整新文件,要確保保存路徑存在。