Sposoby przeniesienia aplikacji na Androida w tle na pierwszy plan

Oto scenariusz:

AndroidManifest.xml definiuje pojedyncze działanie za pomocąandroid:launchMode="singleTask". (Oznacza to, że w ciągu całego cyklu życia aplikacji powinna istnieć pojedyncza czynność, prawda?)

PodczasActivity.onCreate(), odbiornik programowy jest tworzony programowo i nasłuchuje przychodzących wiadomości SMS. Odbiornik pozostaje aktywny nawet poActivity.onPause() przez projekt.

Gdy użytkownik skończy pracę z aplikacją, naciska przycisk Home urządzenia, który wywołujeActivity.onPause() a aplikacja zniknie. Urządzenie wyświetli ekran główny systemu Android.

Po otrzymaniu wiadomości SMS odbiorcy programu odbierają SMS-a i próbują wyświetlić aktywność za pośrednictwem:

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);

Jednak aktywność NIE jest pokazywana użytkownikowi.

a) Dlaczego?b) Jakie są możliwe sposoby przeniesienia Aktywności na pierwszy plan?

questionAnswers(2)

yourAnswerToTheQuestion