2014-01-06 54 views
1

我正在製作一個需要拍照並保存的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

當你說你的方法返回null,則其返回登錄後空「無法創建目錄」或它返回null'mediaFile'對象? – Yjay

+0

它正在返回一個空媒體文件對象 – user3166828

回答

0

除了使用File(String path)構造,嘗試File(File dir, String name)

File mediaFile = new File(mediaStorageDir, "IMG_" + timestamp + ".jpg"); 
0

您可能需要檢查的權限在您的清單:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />