2012-11-08 5 views
0

카메라에서 이미지를 가져 오려고합니다. 그것은 잘 작동합니다. 사진을 찍어 이미지보기에 표시 할 수 있습니다. 사실, 찍은 후에이 사진을 내 서버로 보내려고합니다. 그렇게하기 위해 나는 onActivityResult에서 이미지를 가져 오려고합니다. 하지만, 의도 데이터를 확인할 때 항상 null을 반환합니다. 비록 응용 프로그램이 잘 실행되고 이미지를 표시합니다. 왜 의도 데이터가 null이됩니까? 저 좀 도와 주 시겠어요? 여기 Android 이미지 데이터 가져 오기

코드입니다 :

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     switch (requestCode) { 
     case ACTION_TAKE_PHOTO_B: { 
      if (resultCode == RESULT_OK) { 
         Log.e("TAG","data: "+data); 
        display_Photo();    


      //Process the image to send but, data is null 
      } 
      break; 
     } 

    } 
    } 

로그인 고양이 :

데이터 : 사용중인 코드에서

답변

2

널 부르는 두 개의 버튼의 onclick 핸들러가 있습니다 : dispatchTakePictureIntent(int actionCode)

하나의 버튼은 열거 형 ACTION_TAKE_PHOTO_B을 사용하여 호출합니다. 다른 전화는 반환 된 의도에 data의 예상 결과가 null이며, 열거 ACTION_TAKE_PHOTO_S

당신이 ACTION_TAKE_PHOTO_B 전달하는 경우에 앉아있다. documentation for ACTION_IMAGE_CAPTURE에 따르면

takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f)); 

:

dispatchTakePictureIntent는 의도 MediaStore.ACTION_IMAGE_CAPTURE를 호출하기 전에,이 전달 된 actionCode에 따라 추가 의도 매개 변수를 설정되는 이유

발신자 할 수있다 여분의 EXTRA_OUTPUT을 전달하여이 이미지 이 쓰여지는 곳을 제어하십시오. EXTRA_OUTPUT이 없으면 여분의 필드에 작은 크기의 이미지가 Bitmap 객체로 반환됩니다. EXTRA_OUTPUT 매개 변수가 설정되고 있기 때문에

그래서, 당신의 이미지는 디스크 대신 의도의 데이터로 반환되는에 기록되고있다. 파일 위치를 얻으려면 인 텐트가 시작되기 전에 작성된 mCurrentPhotoPath을 검사 할 수 있습니다.

+0

캡쳐 된 이미지 경로는 어떻게 나타 납니까? = 이전 촬영 된 이미지 경로? –

관련 문제