Formas de trazer um aplicativo Android em segundo plano para o primeiro plano
Aqui está o cenário:
O AndroidManifest.xml define uma única atividade comandroid:launchMode="singleTask"
. (Isso significa que deve haver uma única atividade na pilha durante todo o ciclo de vida do aplicativo, certo?)
DuranteActivity.onCreate()
, um receptor de transmissão é programaticamente criado e escuta para receber SMS. O receptor permanece ativo mesmo depoisActivity.onPause()
por design.
Quando o usuário finaliza o aplicativo, ele pressiona o botão Início do dispositivo, que chamaActivity.onPause()
e o aplicativo desaparece. O dispositivo mostra a tela inicial do Android.
Ao receber o SMS, os receptores de broadcast recebem SMS e tentam exibir a Activity via:
Intent it = new Intent(context, Akami.class);
it.setAction(Intent.ACTION_MAIN);
it.addCategory(Intent.CATEGORY_LAUNCHER);
it.setComponent(new ComponentName(context.getPackageName(), "MyActivity"));
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(it);
No entanto, a atividade NÃO é exibida para o usuário.
a) Por quê?b) Quais são as maneiras possíveis de trazer uma atividade para o primeiro plano?