创建媒体文件以保存图像

时间:2014-01-06 20:38:23

标签: java android eclipse camera media

我正在制作一个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;
}

2 个答案:

答案 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" />