2014-07-24 1 views
0

카메라 앱에 문제가 있습니다. 사진을 찍은 다음 안드로이드 장치의 폴더에 저장하려고하는데 그럴 것 같지만 장치를 재부팅 한 후에 만 ​​사진이 나타납니다. 또한 결과 코드가 항상 0 인 것 같아서 imageView를 업데이트하지 않습니다. 왜 나는 항상 그 결과 코드를 얻습니까?Android 카메라 앱 (재부팅 후에 만 ​​사진이 나타납니다)

/** Create a file Uri for saving an image */ 
private static Uri getOutputMediaFileUri(){ 
     return Uri.fromFile(getOutputMediaFile()); 
} 

/** Create a File for saving an image */ 
private static File getOutputMediaFile(){ 

    File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
       Environment.DIRECTORY_PICTURES), "myAppPics"); 
    // Create the storage directory if it does not exist 
    if (! mediaStorageDir.exists()){ 
     if (! mediaStorageDir.mkdirs()){ 
      Log.d("myAppPics", "failed to create directory"); 
      return null; 
     } 
    } 
    // Create a media file name 
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); 
    File mediaFile = new File(mediaStorageDir.getPath() + File.separator + 
     "IMG_"+ timeStamp + ".jpg"); 
    return mediaFile; 
} 


/** Opening App*/ 
public void open(){ 
    intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE_SECURE); 
    fileUri = getOutputMediaFileUri(); // create a file to save the image 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name 
    startActivityForResult(intent, 0); 
} 


@Override 
/**when you get the activity result*/ 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    //if you want to keep the picture 
    if (resultCode == RESULT_OK) 
    { 
     //grab image data 
     Bundle extras = data.getExtras(); 
     Bitmap bp = (Bitmap) extras.get("data"); 
     //make imageView hold that image now 
     myImgV.setImageBitmap(bp); 
     Log.d("MyCameraApp", "update image"); 
    } 
    //else just goes back to previously chosen image 
    else 
     Log.d("MyCameraApp", "don't want to update image "+resultCode); 
} 

답변

1

촬영 사진을 보려면

refreshGallery(String fileUrl, Context ctx) { 
     Intent mediaScanIntent = new Intent(
       Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
     File f = new File(fileUrl); 
     Uri contentUri = Uri.fromFile(f); 
     mediaScanIntent.setData(contentUri); 
     ctx.sendBroadcast(mediaScanIntent); 
    } 
을 사용하여 갤러리를 새로 고침
관련 문제