Pregunta

Me escribió un widget para Android y estoy tratando de conseguir el nivel de la batería. He intentado usar

Intent batteryIntent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

pero me sale el error: "IntentReceiver componentes no se les permite registrarse para recibir las intenciones"

¿Por qué? la ACTION_BATTERY_CHANGED es una pegajosa intención y no registro un receptor (null en el primer parámetro).

Cualquier solución?

Gracias.

¿Fue útil?

Solución

hackbod dio la solución a los comentarios:

"uso getApplicationContext (). RegisterReciever ()"

Otros consejos

ummmm ... que se siente como un error. Que deben estar haciendo el cheque is-a-BroadcastRecevier demasiado pronto. Es posible que desee crear un proyecto que demuestra el problema, y ??luego publicar que a b.android.com .

En términos de una solución:

Paso # 1: Crear una IntentService

Paso # 2: En onHandleIntent(), hacer su trabajo de actualización de Reproductor real, incluyendo la obtención del nivel de la batería

Paso # 3:. Tienes onUpdate() de su AppWidgetProvider simplemente startService() llamada en su IntentService

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top