2011-12-17 3 views
4

sdcard에 폴더를 만들 수도 없습니다. 카메라가 사진을 찍을 때 '확인'버튼을 누르면 응답하지 않습니다. 내 코드에 무슨 문제가 있습니까?사진을 찍을 때 안드로이드의 카메라가 내 앱으로 돌아 가지 않습니다.

public static final String MACCHA_PATH = Environment.getExternalStorageDirectory().getPath() + "/Twigit"; 
public static final String PHOTO_PATH = MACCHA_PATH + "/camera.jpg"; 

public static boolean takePhoto(Activity activity) { 
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    File fileDir = new File(MACCHA_PATH); 
    boolean isSuccessful = true; 
    if (!fileDir.exists()) { 
     isSuccessful = fileDir.mkdir(); 
    } 
    if(!isSuccessful) { 
     return false; 
    } else { 
     File file = new File(PHOTO_PATH); 
     Uri outputFileUri = Uri.fromFile(file); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
     activity.startActivityForResult(intent, TAKEPHOTO); 
     return true; 
    } 
} 

답변

2

갖고 계십니까? onActivityResult를 재정의해야합니다. startActivityForResult를 사용할 때 onResume보다 먼저 호출됩니다. requestCode는 사진 촬영 활동을 시작하는 데 사용 된 코드입니다. 귀하의 경우는 TAKEPHOTO 것 ..

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == TAKEPHOTO) { 
     if (resultCode == RESULT_OK) { 
      //Pic taken 
     } else { 
      //Pic not taken 
     } 
    } 
} 

는 편집 : 이 링크 http://achorniy.wordpress.com/2010/04/26/howto-launch-android-camera-using-intents/

에서 살펴
관련 문제