¿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?
- El OnClickListener de Fragment llamado después de OnDestroyView
- Métodos del ciclo de vida de la actividad: onPostResume significado
- Actividad ciclo de vida: ¿Por qué se establece en "Pausado" y no "Detenido"
- ¿Cómo conservar el oyente en el cuadro de diálogo personalizado abierto desde el fragmento?
- Actividad con servicio duradero en el fondo que no se matará
- Omitir correctamente la actividad de inicio de sesión si ya ha iniciado sesión
- ¿Puede Android Service superar el objeto de aplicación?
- ¿Se puede reanudar una actividad de Android después de finalizar ()?
- ¿Por qué se llama onStop justo después de que se inicie mi actividad?
- OnActivityCreated siempre se llama?
- Ciclo de vida del fragmento AppCompat cambiado
- DialogFragment - retención del oyente tras la rotación de la pantalla
- Los fragmentos de ViewPager no se recrean después de FragmentTransaction.replace () seguido por el botón de retroceso
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.
- FragmentActivity: No se puede convertir de Fragmento a clase derivada
- Android Studio – Valores de error de compilación de Appcompat-v23 / styles_bases.xml