Anfitrión androide de Android y sueño del dispositivo

Tengo un dispositivo del USB que estoy interconectando con una aplicación androide usando el modo del anfitrión del USB. El dispositivo envía algunos datos aproximadamente una vez cada 10 segundos, pero en algunos casos (datos de alta prioridad) los datos pueden llegar en cualquier momento. En el lado de la aplicación de Android tengo un servicio que lee los datos utilizando el modo de host USB API. Mi aplicación Android procesa los datos y escribe los datos en el dispositivo usb. Ahora todo funciona bien hasta que el dispositivo Android se va a dormir. El servicio se detiene y se detiene toda comunicación. Entiendo que puedo usar el bloqueo parcial de la vigilia para mantener la CPU en funcionamiento y la comunicación y que tendrá un gran impacto en la batería. Aunque tengo dos preguntas:

  1. Dado que el dispositivo USB puede enviar datos en cualquier momento, realmente necesito el servicio de Android para estar vivo todo el tiempo, especialmente porque los datos de mayor prioridad pueden venir en cualquier momento. Esto podría significar potencialmente que adquiero el bloqueo de la vigilia parcial y nunca lo libero. Havent sido capaz de encontrar en la documentación si esto es permitido y si sí cuáles son las ramificaciones además de drenar la batería?

  2. ¿El API de modo host USB o cualquier otra API proporciona una solución diferente y potencialmente mejor?

La aplicación es una aplicación personalizada con usuarios limitados y el drenaje de la batería no es un problema importante. Sólo quiero entender si hay otros asuntos que necesito tener cuidado o si hay una manera mucho mejor de hacerlo.

  • Firebase + Android - Notificaciones ChildAdded - ¿Cómo obtener sólo New Childs?
  • Android startActivity de la intención en el servicio
  • Establecer un Listener en una clase basada en servicio
  • Problema con android: protectionLevel = "firma"
  • Llamar setVolumeControlStream desde un servicio
  • El proceso del servicio se cancela después de que la aplicación se elimina de la bandeja de aplicaciones
  • AVD no se está ejecutando
  • Cómo ejecutar la tarea Async repetidamente después de intervalos de tiempo fijos
  • Por favor, explique algunos conceptos de servicio de Android
  • El servicio Android se bloquea después de que la aplicación se borre de la lista de aplicaciones recientes
  • ¿Por qué no Service.onStop método?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.