在Android小部件获得电池电量
-
02-10-2019 - |
题
我为Android编写了一个小部件,我正在尝试获得电池水平。我尝试使用
Intent batteryIntent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
但是我遇到了错误:“不允许intentReceiver组件注册以接收意图”
为什么? action_battery_changed是一个粘性的意图,我不注册接收器(第一个参数中的null)。
有解决方法吗?
谢谢。
解决方案
Hackbod在评论中给出了解决方案:
“使用getApplicationContext()。registerReciever()”
其他提示
嗯...感觉就像一个错误。他们必须做is-a-BroadcastRecevier
检查得太早。您可能需要创建一个证明问题的项目,然后将其发布到 b.android.com.
就解决方法而言:
步骤#1:创建一个 IntentService
步骤#2:在 onHandleIntent()
, ,进行实际的小部件更新工作,包括获得电池电量
步骤#3: onUpdate()
你的 AppWidgetProvider
只是打电话 startService()
在你的 IntentService
.
不隶属于 StackOverflow