Cómo activar Internet continuamente en modo doze Marshmallow and Nougat

Estoy trabajando en la aplicación de seguimiento de localización en tiempo real y la actualización de la ubicación actual al servidor mediante el uso de servicios de primer plano.

Ahora soy capaz de mantener la aplicación activa mientras el dispositivo en sueño profundo. Pero debido a que el acceso a la red está suspendido en modo Doze, no puedo actualizarlo en el servidor.
Según la sugerencia de la guía de desarrolladores de Google, podemos resolver este problema mediante mensajes FCM de alta prioridad. Pero en mi caso la forma de notificar al servidor de notificación push, mientras que el acceso a la red está suspendido (necesidad de identificar el acceso a Internet desactivar por el sistema operativo o manualmente).

Intente verificar el estado de NetworkInfo

public static boolean isNetBlocked(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = cm.getActiveNetworkInfo(); return networkInfo != null && networkInfo.getDetailedState().name().equals(NetworkInfo.DetailedState.BLOCKED.name()); } 

Una forma es registrar la acción-

 "android.os.action.DEVICE_IDLE_MODE_CHANGED" 

Esto se transmitirá una vez que los modos de dispositivo cambie y luego averiguar el dispositivo está en doze / non-doze utilizando:

 PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE); boolean isDeviceIdle = pm.isDeviceIdleMode(); 
  • El servicio de Android onStartCommand nunca se llama
  • Notificación de Android Acción que no llama a la intención pendiente de servicio
  • ¿Cómo iniciar el servicio con Alarm Manager en Android?
  • Uso de Job Scheduler en la API de Android <21
  • Devolver un resultado de error en inKeyguardRestrictedInputMode ()
  • Implementación de NotificationListenerService
  • Creación de un servicio en Android
  • Android Chronometer, retener el estado de tiempo (y seguir contando en segundo plano)
  • Aclaración de setUpdateCurrent en OneOffTask
  • Cómo ejecutar CountDownTimer en un servicio en Android?
  • No se pueden recibir las actualizaciones de ubicación de LocationClient después de que la pantalla se apagó
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.