Ecco lo scenario:modi per portare un app Android in fondo al primo piano
AndroidManifest.xml definisce una singola attività con android:launchMode="singleTask"
. (Ciò significa che ci dovrebbe essere una singola attività nello stack durante l'intero ciclo di vita dell'applicazione, giusto?)
Durante il Activity.onCreate()
, un ricevitore di trasmissione viene creato a livello di programmazione e ascolta gli SMS in entrata. Il ricevitore rimane attivo anche dopo Activity.onPause()
in base al modello.
Quando l'utente ha terminato l'applicazione, preme il pulsante Home del dispositivo che chiama Activity.onPause()
e l'applicazione scompare. Il dispositivo mostra quindi la schermata iniziale di Android.
Alla ricezione di SMS, i riceventi per la radiodiffusione riceve SMS e cerca di mostrare l'attività tramite:
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);
Tuttavia, l'attività non è mostrato fino a che l'utente.
- a) Perché?
- b) Quali sono i modi possibili per portare in primo piano un Activty?
Non è chiaro quale sia il problema. L'attività non sta arrivando in primo piano? C'è un incidente? –
@tencent: ho modificato il mio post. Sì, l'attività NON sta arrivando in primo piano. Nessun incidente. –