我为Android编写了一个小部件,我正试图获得电池电量。 我尝试过使用
Intent batteryIntent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
但我收到错误: “不允许IntentReceiver组件注册接收意图”
为什么呢? ACTION_BATTERY_CHANGED是一个粘性意图,我没有注册接收者(在第一个参数中为null)。
任何解决方法?
感谢。
答案 0 :(得分:8)
hackbod在评论中给出了解决方案:
“使用getApplicationContext()。registerReciever()”
答案 1 :(得分:3)
BroadcastRecevier
检查。您可能想要创建一个演示该问题的项目,然后将其发布到b.android.com。
就解决方法而言:
步骤1:创建IntentService
步骤2:在onHandleIntent()
中,您的实际小部件更新是否有效,包括获取电池级别
第3步:onUpdate()
AppWidgetProvider
startService()
只需拨打IntentService
上的{{1}}。