2011-03-14 6 views
6

갤러리에서 사진을 고를 의도가 있지만 인 텐트는 항상 결과 코드 RESULT_CANCELED와 함께 반환됩니다. 나는 다른 코드를 많이 시도했지만 아무 것도 안드로이드 매니페스트의 활동에 뭔가를 넣는 것처럼 뭔가를 놓치고 있다고 생각하게 만드는 데 도움이되지 않습니까?Android : Gallery intent returning resultCode == RESULT_CANCELED

내 코드 :

// The Intent 
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
startActivityForResult(intent, 0); 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    super.onActivityResult(requestCode, resultCode, data); 

    if (resultCode == RESULT_OK){ 
     Uri targetUri = data.getData(); 
     Bitmap bitmap; 
     try { 
      bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri)); 
      profileImage.setImageBitmap(bitmap); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

어떤 도움을 주셔서 감사합니다겠습니까) OK

+0

은 활동 마무리() 코드는 –

+0

흠 당신이에 startActivityForResult 후 마무리()를 넣어 의미합니까 넣어? 이것이 나를 위해하는 유일한 행동은 활동을 끝내는 것입니다 (원하지 않는 행동, 같은 행동으로 돌아 가기를 원함). RESULT_CANCELED. – DecodeGnome

답변

16

그래서 이것을 해결했다. 내 문제는 갤러리 의도가 끝나기 전에 onActivityResult() 메소드가 호출되었다는 것이 밝혀졌습니다. 나는 여기에서 해결책을 찾았습니다. onActivityResult() called prematurely

기본적으로 매니페스트에서 "singleTask"가되도록 작업을 지정했습니다. "singleTop"으로 변경하면 나를 위해 해결되었습니다.

+0

내 활동의 실행 모드가 "singleInstance"인 경우에도 같은 문제가 발생했습니다. "singleTop"으로 변경하면 문제가 해결됩니다. 솔루션을 공유해 주셔서 감사합니다. –

+0

하지만이 문제는 솔루션을 사용해도 해결되지 않습니다 – Trikaldarshi

+0

메일을 보내는 동안 문제가 발생했습니다. – Trikaldarshi

1

그건 내 생명을 구했어! \ 0/

안드로이드 : launchMode = "singleTop"는