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".

questionAnswers(3)

yourAnswerToTheQuestion