Android force Detener la devolución de llamada a la aplicación?
Si se detiene una aplicación, siga los pasos Configuración-> Aplicación-> ManageApplications -> -> Forzar parada, android llama a la función onDestroy de la actividad o de la aplicación? (Si no, ¿hay alguna manera de saber si la aplicación ha muerto debido a una fuerza de parada activada por el usuario).
- Gráfico sobre las líneas de cuadrícula en AChartEngine Gráfico de barras
- utilizando nombres de clases variables en lugar de lotes de cláusulas if?
- Android: Fragmentos, SQLite y cargadores
- Llame a un método java estático de otro paquete de código nativo
- Buenas prácticas: Patrón de diseño para la navegación en pantalla 2D HUD
- Botón para Android Onclick
- ¿Por qué no podemos usar arrays en lugar de varargs?
- ¿Cómo aplicar * .cube Lut en bitmaps android?
- ¿Cómo agregar dinámicamente elementos a String array?
- Cuerdas y gestión de memoria
- Apache Commons NET: ¿Debo crear un nuevo objeto FTPClient en cada conexión o reutilizar uno?
- ¿Cómo hacer clics en parte del modelo en Vuforia (sin Unity)?
- Cómo aumentar el área de contacto por un cierto porcentaje?
La imposibilidad de detener la aplicación destruirá todo el proceso (es decir, con Process.killProcess(int pid)
). Todos los recursos asociados con la aplicación serán eliminados y liberados por el kernel. Así que no, no hay manera de que puedas interceptar esta acción.
Al liberar su aplicación en el mercado, la consola de desarrolladores le proporcionará estadísticas sobre la fuerza se cierra, se bloquea, etc (si es por eso que está preguntando).
En resumen, no, onDestroy()
no se llama, y no se puede hacer esto. Android no lo admite.
Una respuesta más extendida …
onDestroy()
no parece que se llama en este escenario. Probé esto intentando tenerlo Toast
me antes de llamar a super.onDestroy, pero el mensaje Toast
nunca apareció. (Y de acuerdo con este post , onDestroy()
es realmente poco fiable y no se llamará a menudo, si es que, en los teléfonos, mientras que puede ser llamado en un emulador – así que sé consciente). En lugar de killProcess()
se llama, y no podemos interceptar eso.
Además, según la respuesta aceptada en este post , parece que ni siquiera podemos capturar y realizar tareas después de una parada de fuerza controlada por el usuario.
No. Esto no es realmente posible. No he mirado el código de Android en cuestión, pero me imagino que "la fuerza de parada" es simplemente llamar a kill
en el ID de proceso de su aplicación. Así que la única manera de interceptar eso es si pudieras atrapar señales, lo que no creo que permita Android.
Si tuvieras raíces, podrías hacer esto, pero no de una manera estándar.
- Hacer que los elementos de ListView sean seleccionables
- Error de enlace de datos: los valores antiguos deben ser seguidos por nuevos valores. El parámetro 2 debe ser del mismo tipo que el parámetro 3