높은 곳과 낮은 곳을 검색 한 결과 내 문제가 발생하지 않았습니다. 그래서 나는 마침내 약간의 도움을 청합니다.외부 활동에 대한 startActivityForResult를 얻는 방법?
두 가지 앱이 있습니다. 둘 다 저에게 씁니다. App A는 Intent.putExtra()를 통해 매개 변수를 전달하여 App B를 시작합니다. App B가 시작될 때 매개 변수가 제대로 전달되면 완벽하게 작동합니다.
그러나 응용 프로그램 A에 대한 응답을 반환하는 방법을 찾을 수 없습니다. startActivityForResult()를 사용하면 항상 즉시 onActivityResult()에 RESULT_CANCELED가 제공됩니다. 추가 검사에서 logcat은 "활동이 새로운 작업으로 시작되므로 활동 결과를 취소합니다"라는 경고를 내게 전했습니다.
다른 시작 모드, 동작 필터 (android.intent.action.PICK)로 App B의 활동을 만들려고했지만 아무 것도 변경하지 않았습니다.
불가능을하려고합니까? 내가 이해하는 바에 따르면, 내가하려고하는 것은 타사 활동을 사용하여 장치의 사진 갤러리에서 사진을 선택하는 것과 유사해야합니다.
편집 :
좋아, 내가 활동 B에서 실행 프로그램 범주를 제거하려하지만 여전히 작동하지 않습니다. 여기 내 활동입니다 :
<activity android:name=".${CLASSNAME}" android:label="@string/app_name" android:configChanges="mcc|mnc|locale|keyboardHidden|orientation" android:launchMode="standard">
<intent-filter>
<action android:name="android.intent.action.PICK" />
</intent-filter>
</activity>
아무도 실제로이 작업을 구하셨 대? 나는 다른 프로그램의 활동을 시작하는 것이 의심 스럽기 시작했습니다. 왜냐하면 "인 텐트 필터"에 무엇을 넣든 항상 새로운 작업을 시작하기 때문에 결과를 반환 할 수없는 것입니다. 당신의 활동 B에서
사용중인 코드를 게시하고 ActivityB에 대한 의도를 실행하십시오. 두 번째 Activity에서'this.setResult (Activity.RESULT_OK, data);'와 같은 것을 넣을 수 있어야한다. – FoamyGuy
매니페스트 파일을 게시 할 수 있습니까? 어쩌면 B 액티비티에 특별한 것이 있습니다 태그 –
nandeesh
Hmmm ... 액티비티 B에 가 있습니다. 나는 지금 내 작업 기계에 있지 않다. 나는 그것을 제거하고 그것이 효과가 있는지보기 위해 노력할 것입니다. 내가 읽은 바로는 동일한 패키지의 일부가 아닌 활동을 시작하면 항상 새로운 작업이 시작됩니다. 그렇다면 startActivityForResult가 다른 apk에서 외부 활동을 시작하는 데 작동하지 않습니까? –