Red de conocimiento informático - Conocimiento informático - Cómo salir del evento

Cómo salir del evento

Para aplicaciones de una sola actividad, salir es tan simple como completar().

Por supuesto, también puedes utilizar métodos como killProcess() y System.exit().

Pero para aplicaciones de múltiples actividades, si desea salir de la última actividad después de abrir varias actividades, el método anterior es inútil, porque el método anterior es solo para finalizar una actividad.

Por supuesto, algunas personas en Internet dicen que es posible.

Al igual que alguien pregunta cómo capturar el botón Inicio en una aplicación, algunas personas dirán que simplemente compare keyCode_home y keyCode, pero en realidad es imposible hacer esto sin modificar el marco.

Así que lo mejor es que lo pruebes tú mismo.

Entonces, ¿hay alguna forma de salir directamente de toda la aplicación?

Antes de 2.1, puedes usar el método restartPackage de ActivityManager.

Puede finalizar directamente toda la aplicación. Requiere permiso de Android. reiniciar_paquetes cuando se usa.

Cuidado con no confundirse con su nombre.

Sin embargo, en 2.2, este método falla.

Se agregó un nuevo método killBackgroundProcesses() en 2.2, que requiere permiso de eliminación de procesos de Android.

Desafortunadamente, al igual que el paquete reinicio 2.2, no logró los resultados esperados en absoluto.

Existe otro método, que consiste en forcestoppack() en la gestión de aplicaciones que viene con el sistema.

Requiere el permiso de Android.

Y necesitas agregar el atributo Android: shared userid = " Android . uid . system ".

También es una lástima que este método no sea público y solo pueda ejecutarse en el proceso del sistema y no pueda ser invocado por programas de terceros.

Porque es necesario agregar LOCAL_CERTIFICATE a Android.mk: = plataforma

Android.mk se utiliza para compilar programas bajo el código fuente de Android.

Como se puede ver en lo anterior, en 2.2, no hay forma de finalizar una aplicación directamente, solo puede finalizarla indirectamente a su manera.

Los siguientes son algunos métodos para su referencia:

1. Lanzar una excepción para forzar una salida:

Este método fuerza el cierre del programa lanzando un excepción.

La verificación es posible, pero el problema a resolver es cómo finalizar el programa sin que aparezca una ventana de cierre forzado.

2. Registrar actividades no finalizadas:

Cada vez que abras una actividad, regístrala. Cuando necesites dejarlo, simplemente cierra cada actividad.

3. Enviar una transmisión específica:

Cuando necesites finalizar la aplicación, envía una transmisión específica. Luego de recibir la transmisión, cada actividad puede cerrarla.

4. Salida recursiva

Utilice startActivityforresult al abrir una nueva actividad, luego márquela usted mismo, procese en onActivityResult y ciérrela de forma recursiva.

A excepción de la primera, intentamos finalizar cada actividad y lograr el objetivo de forma indirecta.

Pero tampoco es perfecto.

Descubrirás que si tu aplicación establece un nosensor para cada actividad, el sensor puede ser válido entre el final de dos actividades.

Pero al menos, nuestro propósito se ha conseguido sin afectar el uso por parte de los usuarios.

Para facilitar la programación, es mejor definir una clase base de actividad para manejar estos * * * problemas de comunicación.