代码之家  ›  专栏  ›  技术社区  ›  Ran

在android widget上获取电池电量

  •  9
  • Ran  · 技术社区  · 15 年前

    我为Android编写了一个小部件,我正在尝试获取电池电量。 我试过用

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

    但我得到了一个错误: “不允许IntentReceiver组件注册以接收Intent”

    为什么?更改的操作是一个粘滞的意图,我不注册接收器(第一个参数为null)。

    有解决办法吗?

    谢谢。

    2 回复  |  直到 15 年前
        1
  •  8
  •   Ran    15 年前

    哈克博德在评论中给出了解决方案:

        2
  •  3
  •   CommonsWare    15 年前

    BroadcastRecevier 检查太早了。您可能希望创建一个演示问题的项目,然后将其发布到 b.android.com

    在解决方法方面:

    第1步:创建 IntentService

    第二步:进入 onHandleIntent() ,进行实际的小部件更新工作,包括获取电池电量

    第三步:拥有 onUpdate() AppWidgetProvider 打个电话就行了 startService() 内部服务 .