Como começar startActivityForResult na atividade externa para trabalhar?
Pesquisando alto e baixo não produziu nenhum resultado para o meu problema. Por isso estou finalmente postando para pedir alguma ajuda.
Eu tenho dois aplicativos, ambos escritos por mim. O aplicativo A inicia o App B, transmitindo parâmetros por meio de Intent.putExtra (). Isso funciona perfeitamente bem quando o App B é lançado os parâmetros são aprovados muito bem.
No entanto, não consigo encontrar uma maneira de retornar uma resposta ao App A. O uso de startActivityForResult () sempre me deu imediatamente onActivityResult () com RESULT_CANCELED. Após uma inspeção mais aprofundada, o logcat me deu um aviso dizendo "A atividade está sendo lançada como uma nova tarefa, cancelando assim o resultado da atividade".
Eu tentei fazer Activity of App B com diferentes modos de inicialização, filtros de ação (android.intent.action.PICK), mas nada que eu fiz mudou nada.
Estou tentando fazer o impossível? Pelo que entendi, o que eu estou tentando fazer deve ser semelhante ao uso de atividades de terceiros para escolher fotos da galeria de fotos do dispositivo.
EDITAR:
Ok, tentei remover a categoria LAUNCHER da Activity B, mas ainda não funciona. Aqui está minha atividade:
<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>
Alguém realmente conseguiu isso para trabalhar? Estou começando a suspeitar que iniciar uma atividade de outro aplicativo nunca poderá retornar resultados, pois parece que sempre iniciará uma nova tarefa, independentemente do que você colocar no "filtro de intenção".