2010-01-23 21 views
7

Tengo una aplicación con varias actividades. Mi actividad tiene los parámetros de filtro de intención de manifiesto: acción.MAIN y categoría.LAUNCHER. después de cargarlo, llamo a Actividad B y final() A porque ya no lo uso.Aplicación Android Run de la última actividad

después de ejecutar mi aplicación, ir de Actividad de A a B y pulse el botón Inicio , cuando relanzamiento desde el menú de aplicaciones o desde la aplicación mercado por ej. (No mediante una pulsación larga en el botón Inicio), que se inicia desde el una actividad y no guarde su última actividad B.

definitivamente sé que esto es posible relanzar una aplicación de su última actividad (alguna aplicación desde el Mercado do apoyar ella) y Creo que esto puede ser determinado por los parámetros de Manifiesto pero no sé cuál.

¿Alguien sabe cómo implementarlo para que mi aplicación pueda reiniciar desde su última Actividad B?

Gracias ayanir

+0

¿Ha descubierto? Si es así, comparta con nosotros ... –

Respuesta

1

Ha habido una serie de preguntas muy similares últimamente. Es una buena idea buscar primero en el sitio para asegurarse de que no se hagan preguntas duplicadas.

Por ejemplo, la pregunta vinculada a continuación dice que este comportamiento estaba sucediendo porque el desarrollador estaba iniciando su aplicación utilizando el depurador Eclipse. Otra persona estaba teniendo este problema porque estaban lanzando la aplicación directamente desde Eclipse, en lugar de comenzar limpiamente presionando manualmente el icono del iniciador.

Android: keep task's activity stack after restart from HOME

+0

Tenga en cuenta que este comportamiento se ha corregido en la versión 0.9.6 del complemento ADT para Eclipse. –

0

por lo que hay algunas cosas a tener en cuenta en el desarrollo de Aplicaciones en Android. Y una de las cosas más importantes es Application Lifecyle, si aún no lo ha hecho, sugeriría esto video. Lo que sucede es que una aplicación puede ser eliminada y restablecida en cualquier momento y necesita guardar el estado de su aplicación para que pueda restaurarla en cualquier momento. Si abre su aplicación desde el Iniciador, siempre irá a la Actividad que inicia la aplicación, si desea pasar a la siguiente Actividad, necesita almacenar esa información y luego saltar a la Actividad en su código.
también echar un vistazo a esta documentación acerca SavingPersistentState

5

Aunque sé que esto es una cuestión de edad, he tenido problemas con este mismo tema y no pude encontrar una respuesta en el SO. Entonces, aquí está mi (muy novato) respuesta:

No, no creo que sea posible hacerlo al interferir con el manifiesto: solo puede iniciar una actividad fija por aplicación desde la pantalla de inicio. Sin embargo, lo que puedes hacer es lanzar cualquier actividad que desees desde ese punto de partida, y Android puede hacerlo lo suficientemente rápido como para que nunca veas el primero.

Aunque esto parece más bien un truco, he implementado este enrutamiento en el método de la actividad de partida onResume(), y se utiliza sharedPreferences para realizar un seguimiento de las cuales la actividad para poner en marcha:

final Class<? extends Activity> activityClass; 
    SharedPreferences prefs = getSharedPreferences("sharedPrefs", MODE_PRIVATE); 
    int activityID = prefs.getInt("whichActivity", -1); 
    if (activityID == Constants.ACTIVITY_ID_MAINSCREEN) { 
     activityClass = MainScreen.class; 
    } else { 
     activityClass = null; return; 
    } 
    Intent newActivity = new Intent(this, activityClass); 
    this.startActivity(newActivity); 
Cuestiones relacionadas