Tengo dos actividades de reproducción: mainActivity y childActivity. Cuando el usuario hace clic en el botón mainActivity, se inicia childActivity. Lo que quiero hacer es lo siguiente:Android: Restauración de la actividad activa, mientras que la reanudación de la aplicación
Cuando la actividad activo es el childActivity y el usuario hace clic en el botón de inicio y luego relanzar la aplicación, quiero ver el childActivityen lugar demainActivity que se lanzó
Tenía algunas sugerencias que realmente daban vueltas. Intenté manipular los eventos onStart, onRestart, onResume, onStop, onDestroy. Pero, no resolvieron completamente el problema. Debería haber una manera inteligente de salir. Gracias.
Editar:
Gracias por la respuesta, Soonil. El caso que dijo está sucediendo cuando se llama a la actividad desde la ventana de actividades recientes. (la ventana se abre cuando presiona prolongadamente el botón de inicio) Sin embargo; Esto no sucede cuando lo abre desde la pantalla de inicio. (como abrir desde el principio) No creo que mi código tenga un problema específico para generar este error. Porque, creé un proyecto de prueba y probé de forma autónoma antes de enviar la pregunta y me enfrenté al mismo problema. De todos modos, aquí está el código de prueba:
public class MainActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTitle("MainActivity");
((Button) findViewById(R.id.btnChildActivity)).setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
startActivity(new Intent(this, ChildActivity.class));
}
}
public class ChildActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
this.setTitle("ChildActivity");
}
}
Simplemente ejecute su ejemplo sin ningún problema. La secuencia que tomé: iniciar la aplicación (ahora en la pantalla MainActivity), presionar el botón (ChildActivity se inicia), presionar el botón de inicio (ahora en la pantalla de inicio), presionar long home y seleccionar MainActivity (terminar en ChildActivity), presionar atrás (terminar en MainActivity) – sooniln
Ok. esto es lo que estoy esperando también Pero, ¿qué hay de ejecutar la aplicación desde la pantalla de inicio? (no se ejecuta desde el menú de la aplicación reciente cuando presiona prolongadamente el botón de inicio, pero desde la pantalla de inicio). Espero ver mi ChildActivity. Sin embargo; MainActivity se está lanzando. Gracias. –
Lo sentimos, sigue el mismo resultado :(Presione el botón de la aplicación en la pantalla de inicio (en MainActivity), presione el botón (en ChildActivity), presione home (en la pantalla de inicio), presione el botón de la aplicación en la pantalla de inicio (en ChildActivity), presione atrás MainActivity). ¿Desea que su aplicación siempre se inicie en la pantalla de ChildActivity? – sooniln