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(); 
  • Cómo crear una aplicación de Android que se activa en eventos de sacudidas cuando la pantalla está bloqueada?
  • FirebaseApp con nombre no existe obtener error
  • Transmisión de audio mediante el servicio
  • Reproductor de medios de Android con servicio
  • Notificación RemoteView en el oyente de clics
  • Context.getApplicationContext () devuelve null en un Service
  • No se puede iniciar el servicio Intención: no se encuentra
  • StopService () detendrá un servicio de primer plano?
  • Servicio de Android con la ubicación de los servicios de Google Play que hace que la aplicación se abra al azar
  • Notificación de Android Acción que no llama a la intención pendiente de servicio
  • ¿Es posible simular servicios de android bajo pruebas de unidad?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.