¿Cómo saber cuándo se ha matado mi aplicación?

Necesito saber cuando el usuario mata mi aplicación (Parada de fuerza). He estado leyendo el ciclo de vida de Android, que tiene las funciones onStop y onDestroy, estas están relacionadas con cada actividad que el usuario termina en mi aplicación, pero no cuando el usuario obliga a detener o mata a mi aplicación.

¿Hay alguna manera de saber cuándo el usuario mata la aplicación?

No hay forma de determinar cuándo se mata un proceso. ¿Cómo detectar si la aplicación android se detiene o se desinstala?

Cuando un usuario o la fuerza del sistema detiene su aplicación, todo el proceso se acaba de matar. No hay devolución de llamada hecha para informarle que esto ha sucedido.

Cuando el usuario desinstala la aplicación, al principio el proceso se elimina, a continuación, su archivo apk y directorio de datos se eliminan, junto con los registros en el Administrador de paquetes que decir a otras aplicaciones que los filtros de intención se ha registrado.

He encontrado una manera de hacer esto …..

1) Hacer un servicio como este

public class OnClearFromRecentService extends Service { @Override public IBinder onBind(Intent intent) { return null; } @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.d("ClearFromRecentService", "Service Started"); return START_NOT_STICKY; } @Override public void onDestroy() { super.onDestroy(); Log.d("ClearFromRecentService", "Service Destroyed"); } @Override public void onTaskRemoved(Intent rootIntent) { Log.e("ClearFromRecentService", "END"); //Code here stopSelf(); } } 

2) Registre este servicio en Manifest.xml como este

 <service android:name="com.example.OnClearFromRecentService" android:stopWithTask="false" /> 

3) A continuación, inicie este servicio en su actividad de inicio

 startService(new Intent(getBaseContext(), OnClearFromRecentService.class)); 

Y ahora, cada vez que vaya a borrar la aplicación de android recientes Entonces este método onTaskRemoved () se ejecutará.

Crear una clase de aplicación

 onCreate() Called when the application is starting, before any activity, service, or receiver objects (excluding content providers) have been created. onLowMemory() This is called when the overall system is running low on memory, and actively running processes should trim their memory usage. onTerminate() This method is for use in emulated process environments. 

Incluso si usted es la aplicación matado o la fuerza de parada, de nuevo Android comenzará su clase de aplicación

Siempre puedes usar este código:

 protected void onCreate(Bundle savedInstanceState) { //... Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() { @Override public void uncaughtException(Thread thread, Throwable ex) { //inform yourself that the activity unexpectedly stopped //or YourActivity.this.finish(); } }); //... } 

Tengo idea.i alternativa tienen el mismo problema como you.above métodos no problema fix.my: "Quiero borrar todos los datos guardados toda la aplicación, cuando el usuario cierre completamente la aplicación"

Por lo tanto, he añadido clear () y borrar los datos guardados (de preferencia compartida o tinyDB) en la clase de aplicación.

  • Documentación de la clase de aplicación Android lifecyle
  • Omitir correctamente la actividad de inicio de sesión si ya ha iniciado sesión
  • Cancelar notificación después de que la aplicación se cierre desde el fondo
  • No se pudo resolver: android.arch.lifecycle: extensions: 1.0.0-alpha1 android studio 3.0
  • ¿Puede Android Service superar el objeto de aplicación?
  • NullPointerException en Fragment Listener
  • ¿Es onResume () llamado antes onActivityResult ()?
  • ¿Por qué se llama onStop justo después de que se inicie mi actividad?
  • ¿Se llama onPause () o onStop () incluso si el teléfono muere por falta de energía?
  • Cómo detener y reanudar un servicio
  • Android DialogFragment desaparece después del cambio de orientación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.