android - intents - Intención de comenzar la actividad, pero no llevar al frente
intent flags android example (3)
No desea iniciar una Activity
en segundo plano. Hay mejores maneras de hacer lo que quieres. Puede tener su Registro de Activity
para recibir la Intent
transmisión, por ejemplo. Recibirá la llamada a onReceive()
incluso si está en segundo plano. Puede determinar si su Activity
está en segundo plano configurando una variable como true
en onPause()
y como false
en onResume()
. Luego, en onReceive()
, si la variable es true
, está en el fondo.
Descripción:
- La actividad A es visible (o en el fondo)
- Intent I es recibido por una emisión con extras valiosos y luego pasa los extras a un nuevo Intent I2 que se utilizará para iniciar la actividad A.
- Resultado: No lleve la actividad al frente si la actividad está en el fondo.
Código:
Intent I2= new Intent(context, MyActivity.class);
I2.putExtra(..
I2.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK); // | Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(I2);
Nota: No agregué "android: taskAffinity" a manifestar ... pensé que debería saberlo
Puedes usar esta línea en tu método onCreate()
:
moveTaskToBack(true);
Si desea que su actividad esté en segundo plano, agregue esta línea en la creación de una actividad.
moveTaskToBack(true);