2015-02-02 5 views
1

난에 startActivityForResult를 사용할 때 ,, 나는onActivityResult 다른 활동이 다른 활동을 호출 한 후 작동하지 않습니까?

1. activity A -> activity B = onActivityResult in activity A called //success 
2. activity A -> activity B -> Call Camera = onActivityResult called only in Activity B, activity A isn't called 

내가이

@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
      if(resultCode != RESULT_CANCELED){ 
       Bundle b = data.getExtras(); 
       String data = b.getString("data");      
      } 
    } 

활동 B에게 활동이 코드를 사용하여이 문제에 대한 두 가지 조건이 문제가

String fileName; 
@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (resultCode == RESULT_OK) { 
      selectedPath=getPath(data.getData()); 
      File source= new File(selectedPath); 
      fileName=source.getName();     
     } 
    } 

활동 B에서 활동 B를 완료하고 활동 A를 호출하는 버튼이 있습니다. 값은 fileName 입니다. 내가 call camera intent (경우 2) 활동 B 후 activity A에서 activity B의 값을 반환 할 코드

button.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View arg0) { 
       Intent i = new Intent(); 
       i.putExtra("data", fileName); 
       setResult(RESULT_OK,i); 
       finish(); 
      } 
}); 

?

어떻게 달성할까요? 감사.

답변

0

작업 B에서 setResult (RESULT_OK)를 호출하고 finish() 전에 인 텐트의 데이터를 래핑 했습니까? 이 카메라라는 활동이 때문에

+0

예 ..하지만 여전히 작동하지 않습니다 .. – ltvie

0

카메라를 호출 한 후, onActivityResult()activity B 대신 activity A의 호출 할 것,하지의 활동 A. 간단하게 활동 B에 onActivityResult()을 무시하고 활동 A. 그 결과를 전파 할 setResult() 전화