Você pode ver uma diferença entre os dois contextos quando você inicia o aplicativo diretamente na tela inicial e quando o aplicativo é iniciado a partir de outro aplicativo por meio do compartilhamento.
Aqui está um exemplo prático do que significa "comportamentos de pilha não padronizada", mencionados por @CommonSenseCode, significa:
Suponha que você tenha dois aplicativos que se comunicam, App1 e App2 .
Inicie o App2: MainActivity a partir do iniciador. Em MainActivity, inicie o App2: SecondaryActivity . Lá, usando o contexto de atividade ou o contexto do aplicativo, ambas as atividades vivem na mesma tarefa e isso é aceitável (desde que você use todos os modos de inicialização padrão e sinalizadores de intenção). Você pode voltar ao MainActivity pressionando novamente e nos aplicativos recentes você tem apenas uma tarefa.
Suponha agora que você esteja no App1 e inicie o App2: MainActivity com uma intenção de compartilhamento (ACTION_SEND ou ACTION_SEND_MULTIPLE). Em seguida, tente iniciar o App2: SecondaryActivity (sempre com todos os modos de inicialização padrão e sinalizadores de intenção). O que acontece é:
se você iniciar App2: SecondaryActivity com contexto de aplicativo no Android <10, não poderá iniciar todas as atividades na mesma tarefa . Eu tentei com o Android 7 e 8 e o SecondaryActivity sempre é iniciado em uma nova tarefa (acho que é porque o App2: SecondaryActivity é iniciado com o contexto do aplicativo App2, mas você é do App1 e não iniciou o aplicativo App2 diretamente Talvez por baixo do capô o Android reconheça isso e use FLAG_ACTIVITY_NEW_TASK). Isso pode ser bom ou ruim, dependendo de suas necessidades, pois meu aplicativo foi ruim.
No Android 10, o aplicativo trava com a mensagem
"Chamar startActivity () de fora de um contexto de Atividade requer o sinalizador FLAG_ACTIVITY_NEW_TASK. É isso mesmo que você deseja?" .
Portanto, para fazê-lo funcionar no Android 10, você precisa usar o FALG_ACTIVITY_NEW_TASK e não pode executar todas as atividades na mesma tarefa.
Como você pode ver, o comportamento é diferente entre as versões do Android, estranho.
se você iniciar App2: SecondaryActivity com o contexto de atividade, tudo correrá bem e você poderá executar todas as atividades na mesma tarefa, resultando em uma navegação linear de backstack.
Espero ter adicionado algumas informações úteis