2015-01-29 6 views
1

이미지를 안드로이드 갤러리에 저장하려고하지만 불행히도 이미지가 표시되지 않습니다.android - 갤러리에 이미지 저장

Camera.PictureCallback mPicture = new Camera.PictureCallback() { 
     @Override 
     public void onPictureTaken(byte[] data, Camera camera) { 
      File pictureFileDir = getDir("images", 0); 

      if (!pictureFileDir.exists() && !pictureFileDir.mkdirs()) { 
       Toast.makeText(getApplicationContext(), "Can't create directory to save image.", 
         Toast.LENGTH_LONG).show(); 
       return; 

      } 

      SimpleDateFormat dateFormat = new SimpleDateFormat("yyyymmddhhmmss"); 
      String date = dateFormat.format(new Date()); 
      String photoFile = "Picture_" + date + ".jpg"; 

      String filename = pictureFileDir.getPath() + File.separator + photoFile; 

      File pictureFile = new File(filename); 

      try { 
       FileOutputStream fos = new FileOutputStream(pictureFile); 
       fos.write(data); 
       fos.close(); 
       Toast.makeText(getApplicationContext(), "New Image saved:" + photoFile, 
         Toast.LENGTH_LONG).show(); 

       //Insert image into gallery 
       Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getAbsolutePath() + pictureFile.getPath()); 
       MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, photoFile , "My Image"); 
      } catch (Exception error) { 
       Toast.makeText(getApplicationContext(), "Image could not be saved.", 
         Toast.LENGTH_LONG).show(); 
      } 

      //... 
     } 
}; 

나는 이미지가 응용 프로그램 데이터에 제대로 저장되어 있다고 생각하지만 갤러리에 표시되지 않습니다 다음과 같이

내 사진 콜백입니다.

내 애플은이 두 권한이 필요합니다

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

불행하게도,이 코드는 여전히 작동하지 않습니다. 잘못된 것이 있습니까?

답변

0

단순히 잘못된 파일 경로입니다.

Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getAbsolutePath() + pictureFile.getPath()); 

요구 나에게

Bitmap bitmap = BitmapFactory.decodeFile(pictureFile.getPath()); 
관련 문제