我正在制作一个Android应用程序,需要拍照并保存。 在这个方法中,我试图创建一个文件来保存该图像,但它返回null。有人可以帮忙吗?
private static File getOutputMediaFile(int type) {
File mediaStorageDir = new File(
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
"weatherapp");
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.d("weatherapp", "failed to create directory");
return null;
}
}
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss")
.format(new Date(0));
File mediaFile = new File(mediaStorageDir.getPath() + File.separator
+ "IMG_" + timestamp + ".jpg");
return mediaFile;
}
答案 0 :(得分:0)
不要使用File(String path)
构造函数,请尝试File(File dir, String name)
。
File mediaFile = new File(mediaStorageDir, "IMG_" + timestamp + ".jpg");
答案 1 :(得分:0)
您可能需要检查清单中的权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />