Mientras la aplicación se está ejecutando, presiono el botón INICIO para cerrar la aplicación. Cuando inicio de nuevo la aplicación, se reanuda en la página que se muestra antes de hacer clic en INICIO. Quiero que la aplicación comience con la pantalla inicial en su lugar. He utilizado finish() para finalizar la actividad pero no está funcionando. ¿Alguna sugerencia?¿Cómo destruir una actividad en Android?
Respuesta
Lo más probable es que tenga varias instancias de la misma actividad. Para resolver este tipo de problemas, crea tu propia clase de actividad principal, p. MyRootActivity que celebrará lista estática de todas las actividades disponibles/viva:
public class MyRootActivity extends Activity
{
private static final String TAG=MyRootActivity.class.getName();
private static ArrayList<Activity> activities=new ArrayList<Activity>();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
activities.add(this);
}
@Override
public void onDestroy()
{
super.onDestroy();
activities.remove(this);
}
public static void finishAll()
{
for(Activity activity:activities)
activity.finish();
}
}
Para que todas sus actividades tiene por qué ser hijos de MyRootActivity.
Luego, cuando esté a punto de asegurarse de que está cerrando su aplicación, simplemente llame a MyRootActivity.finishAll();
private static ArrayList
@piku: Tengo el mismo error en esa misma línea" ... nueva ArrayList
intente llamar super.onPause()
primero y luego llamar finish()
dentro de su onPause()
talón de
No es una buena idea, es un diseño muy anti patrón. – visc
Crear un objeto de la actividad estática que la actividad de meta en otra actividad y asignar actividad en este ejemplo se puede agregar más actividades
public class demoActivity extends AppCompatActivity {
public static Activity self_intent;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.demo_activity);
selfintent=this;
}
//Other functions--------------
}
hacer lo mismo para otras actividades
en otra
public class finishingActivity extends AppCompatActivity {
public Button activityCloseBtn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.finishing_activity);
activityCloseBtn= (Button) view.findViewById(R.id.activity_close_btn);
activityCloseBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
demoActivity.selfintent.finish(); //for finish demoActivityactivity
//for other activities Activity.selfintent.finish();
finish(); //for finish current activity
}
});
- 1. Android: No se puede destruir la actividad
- 2. Android, ¿cómo no destruir la actividad cuando giro el dispositivo?
- 3. onBackPressed para ocultar No destruir la actividad
- 4. ¿cómo reinicio una actividad en android?
- 5. Cómo desplazamiento vertical una actividad en Android
- 6. Android - Crear una nueva actividad en Eclipse
- 7. ¿Cómo implemento una función "Recordarme" en una actividad de Android?
- 8. ¿Cómo vaciar/destruir una sesión en rieles?
- 9. Detención de tareas ejecutables Handler al destruir la actividad
- 10. ¿Es Fragment una actividad? (Android)
- 11. ¿Cómo establecer mi actividad como actividad principal en android?
- 12. ¿Qué sucede cuando una actividad de Android inicia otra actividad?
- 13. Cómo finalizar la actividad actual en Android
- 14. Cómo agregar la segunda actividad en Android
- 15. Cómo iniciar una actividad Administrar cuentas/Sincronizar configuración en Android?
- 16. ¿Cómo enviar datos desde BroadcastReceiver a una actividad en android?
- 17. Cómo llamar a getWindow() fuera de una actividad en Android?
- 18. ¿Cómo se inicia una actividad con AlarmManager en Android?
- 19. Cómo integrar Unity en una actividad de Android
- 20. ¿Cómo iniciar una segunda actividad en Android? obteniendo el error
- 21. Android - Cómo iniciar una nueva actividad desde una instancia
- 22. Identificación única de una actividad de Android
- 23. actividad Android nombrar
- 24. ¿Cómo eliminar/destruir una instancia de Flowplayer?
- 25. ¿Cómo iniciar un servicio de Android desde una actividad y detener el servicio en otra actividad?
- 26. Cómo destruir tinyMce?
- 27. Cómo destruir Fragment?
- 28. Android: agregar aplicaciones a una actividad
- 29. Cómo destruir objetos Java?
- 30. Android: capturar el retorno de una actividad
¿dónde colocaste el 'finish()'? En la mayoría de los casos, presionar Inicio solo pone la actividad en pausa, a menos que Android necesite esa pieza de memoria con urgencia. – xandy
No nos explicó dónde terminó(). – cababunga
@Nikki: ¿Puedes publicar el código, para que podamos encontrar qué mal hiciste en ese código? –