2012-02-15 15 views
6

Tengo un problema con el inicio de actividades en mi proyecto.Launcher + actividad SingleTask en Android

Mi actividad 'Inicio' (H) permite elegir algún servicio en ella. Digamos que S11 -> ...-> S1n es un flujo de actividad para el servicio (S1). H es la actividad LAUNCHER para mi aplicación.

Además, tengo que cambiar a otra aplicación desde H y volver a ella. Como no puedo cambiar el comportamiento de la aplicación, tengo que declarar mi actividad H como 'singleTask' para evitar tener varias instancias de ella en mi pila de actividades.

El problema es que mi aplicación no se puede reiniciar sin cortar las actividades que se habían insertado después de H. Entonces, por ejemplo, si tengo H-S11-S12, presiono INICIO y reinicio desde el menú de aplicaciones recientes obtengo H como una actividad en primer plano.

¿Alguna idea? ¿Hay alguna forma de hacer funcionar esta combinación? ¡Gracias!

+0

se puede explicar con mejores ejemplos, ¿qué es lo que quiere decir con necesidad de cambiar a otra aplicación de H y volver a ella, y las actividades S11 ....? – user2450263

+0

así que el problema es que cuando vuelves a abrir la aplicación desde la lista de aplicaciones recientes, otras actividades en la pila deben permanecer en la pila, ¿verdad? – himanshu1496

+0

¿Cómo se inicia "la otra aplicación"? No puedo ver cómo causa varias instancias de tu actividad H. – totoro

Respuesta

-1

No necesita singleTask. Use startActivityForResult en lugar de startActivity. O utilice Fragments en lugar de Activities

startActivityForResult(new Intent(H.this,S11),1); 

public onActivityResult(int requestCode){ 
    if(requestCode == 1){ 
     startActivityForResult(new Intent(H.this,S12),2); 
    }else if(requestCode == 2){ 
     startActivityForResult(new Intent(H.this,S12),3); 
    } 
    ... 
} 
Cuestiones relacionadas