Eventos de apagado en Android

¿Es posible interceptar un evento de apagado del teléfono o tal vez usar un hack diferente alrededor de esto? Tengo un servicio que funciona siempre que es parte de una aplicación del no-mercado que está recogiendo algunos datos analíticos. Me gustaría decirle a la analítica que finalice la sesión y el informe, luego reanude el cierre del sistema.

He intentado activar el evento desde las partes onDestroy o onShutdown de los servicios, pero el teléfono se apagará sin darle tiempo para informar.

Trabajando en torno a esto haciendo muchas sesiones cortas basadas en las pantallas de la actividad produce información analítica no-sensorial que me gustaría evitar.

Construir un receptor de difusión en las capturas ACTION_SHUTDOWN intención.

En el método onReceive () puede lograr lo que está tratando de hacer.

http://developer.android.com/reference/android/content/Intent.html#ACTION_SHUTDOWN

Usted podría intentar registrar un gancho Shutdown usando el método Runitme addShutdownHook (Thread hook) .

Adicionalmente, la referencia del método indica:

Si se ha llamado a runFinalizersOnExit (boolean) con un argumento verdadero, la recolección de basura y la finalización tendrán lugar después de que todos los ganchos estén terminados o hayan fallado. A continuación, la VM termina.

Por lo tanto, teóricamente , la VM no terminará hasta que termine el hilo.

  • No se puede crear el controlador dentro de hilo que no ha llamado Looper.prepare () en CountDownTimer
  • Cómo detectar la visibilidad del selector de método de entrada sin el permiso de accesibilidad
  • Cómo pasar valor de cadena de servicio a la actividad en android?
  • ¿Cómo mantener un servicio con los oyentes vivo después de desatar en Android?
  • Servicio con cola de prioridad en Android
  • Lanzar una excepción personalizada de un servicio a una actividad
  • Actualización de Textview en una actividad con servicio local
  • ¿Cómo eliminar todas las notificaciones cuando se cancela una aplicación de Android (actividad o servicio)?
  • La notificación de la barra de estado de Android lanza una nueva aplicación aunque esté en ejecución. ¿Cómo sincronizar la aplicación de lanzamiento desde el icono de la aplicación y la notificación de barra de estado?
  • Detener el servicio hasta que se pueda establecer conexión a Internet
  • Una forma más eficiente de actualizar la interfaz de usuario del servicio que las intenciones?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.