2016-07-18 6 views
1

내 안드로이드 앱에서 갤러리 나 카메라 캡처 이미지에서 이미지를 선택하는 'imageselect'모듈과 처리하고 표시 할 'app'모듈이 있습니다.다른 모듈에 대한 요청 코드 및 결과 코드 처리

if(requestCode == Constants.REQUEST_CODE_PHOTO && resultCode == RESULT_OK && data != null) { 
     setResult(RESULT_OK, data); 
     finish(); 
     Toast.makeText(AlbumSelectActivity.this,"Calling ALbum IF",Toast.LENGTH_SHORT).show(); 
    }else if(requestCode == Constants.REQUEST_CODE_CAMERA && resultCode == RESULT_OK && data != null){ 
     setResult(RESULT_OK, data); 
     finish(); 
     Toast.makeText(AlbumSelectActivity.this,"Calling ALbum ELSE IF",Toast.LENGTH_SHORT).show(); 
    } 
: 다른 요청 코드를 내가 모두 옵션

//to choose gallery image 
Intent intent = new Intent(getApplicationContext(), ImageSelectActivity.class); 
intent.putExtra(Constants.INTENT_EXTRA_ALBUM, albums.get(position).name); 
startActivityForResult(intent, Constants.REQUEST_CODE_PHOTO); 


// to capture camera image  
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(cameraIntent, Constants.REQUEST_CODE_CAMERA); 

으로 onActivity 결과를 imageselect 모듈 활동에 완벽하게

시작 활동 결과를 요청 코드 및 결과 코드를 받고

public static final int REQUEST_CODE_PHOTO = 2000; 
public static final int REQUEST_CODE_CAMERA = 2006; 

오전 않았다

이 때까지 잘 작동합니다. 내 애플 리케이션 모듈 활동에서 항상 동일한 requestcode지고. 항상 사진 요청 코드 인 2000을 얻습니다.

응용 프로그램 모듈 MainActivity하여 onActivityResult :

if (resultCode == RESULT_OK) { 
     if (requestCode == Constants.REQUEST_CODE_PHOTO && data != null) { 
      // always getting 'REQUEST_CODE_PHOTO' so this block is working 

     } else if (requestCode == Constants.REQUEST_CODE_CAMERA && data != null) { 
      // this block never called even when 'REQUEST_CODE_CAMERA' passed 
     } 
    } 

답변

0

응용 프로그램 모듈 MainActivity이 시도는하여 onActivityResult :

if (resultCode == RESULT_OK) { 
     if (requestCode == Constants.REQUEST_CODE_PHOTO && data != null) { 
      // always getting 'REQUEST_CODE_PHOTO' so this block is working 

     } else if(requestCode == Constants.REQUEST_CODE_CAMERA && data != null) { 
      // this block never called even when 'REQUEST_CODE_CAMERA' passed 
     }else{} 
    } 

을 그리고 으로 onActivity 결과의 경우 :

if(requestCode == Constants.REQUEST_CODE_PHOTO && resultCode == RESULT_OK && data != null) { 
     setResult(RESULT_OK, data); 
     finish(); 
     Toast.makeText(AlbumSelectActivity.this,"Calling ALbum IF",Toast.LENGTH_SHORT).show(); 
    }else if(requestCode == Constants.REQUEST_CODE_CAMERA && resultCode == RESULT_OK && data != null){ 
     setResult(RESULT_OK, data); 
     finish(); 
     Toast.makeText(AlbumSelectActivity.this,"Calling ALbum ELSE IF",Toast.LENGTH_SHORT).show(); 
    }else{} 
+0

당신은 할 수 없습니다 공동 출연하다 다른 방법으로는 어떻게 작동할까요? 그렇지 않으면 문제와 동일한 요청 코드가 항상 발생합니다. –