问题描述
- 为什么我的文件保存在这里?
-
我希望照片能保存在这里: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();
这样能调整新文件,要确保保存路径存在。
解决方案二:
你有权限在内部存储根下创建Android文件夹吗?
getExternalFilesDir就是获取外部存储Files
默认为Android/data/报名/files
时间: 2025-01-02 01:26:58