¿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?
- ¿Android almacena variables estáticas?
- DialogFrag # show () de un lanzamiento de fragmentos "IllegalStateException: no se puede realizar esta acción después onSaveInstanceState"
- Acceso a la clase de aplicación en Broadcast Receiver
- OnCreateOptionsMenu en un ciclo de vida de Fragmento
- DatePickerDialog onDateSet llamado cuando se gira
- ¿Cómo puedo saber que onCreateView ha sido llamado desde una clase externa?
- Escenario de Android donde ondestroy () se llama sin onpause () o onstop ()
- ¿Este patrón de mensajería de Servicio de Actividad causa una pérdida de memoria?
- Ver ciclo de vida del paginador y del fragmento
- El servicio de Android con START_STICKY se bloquea al eliminar la aplicación
- Android: Duplicación de fragmentos al utilizar el Administrador de fragmentos de soporte
- Cómo funciona el servicio Foreground (proceso diferente / mismo proceso) cuando Android tiene poca memoria
- OnActivityCreated siempre se llama?
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