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

根据条件更新android widget

  •  3
  • DonGru  · 技术社区  · 14 年前

    现在我想把整个东西放到一个小部件里-问题是: 在AndroidManifest.xml中插入小部件的intet filter标记-但显然不是那么简单。 如果更新服务是正确的方式,我会这样做-但我只是想确定什么是正确的解决方案

    3 回复  |  直到 13 年前
        1
  •  4
  •   CommonsWare    14 年前

    要倾听的背景 行动电池改变了意图?

    不能使用已注册的清单 BroadcastReceiver ACTION_BATTERY_CHANGED . 它只能由活动或服务通过 registerReceiver() .

    AlarmManager 经常检查电池电量(请配置!)。要检查电池电量,请致电 registerReceiver() 对于一个 动作电池已更换 IntentFilter 没有一个 广播接收机 ( null 对于第一个参数)。这将返回最后一次广播 Intent ,您可以从中获得最新的充电水平。

        2
  •  2
  •   Josef Pfleger    14 年前

    updatePeriodMillis 在你的 AppWidgetProviderInfo

    <appwidget-provider
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:updatePeriodMillis="1800000" />
    

    …并通过覆盖 onUpdate AppWidgetProvider .

    编辑:正如Martin所指出的,30分钟实际上是以这种方式接收更新的最短时间间隔。

        3
  •  1
  •   soBinary    13 年前

    信不信由你,以下工作:

    cont.getApplicationContext().registerReceiver(rec, filter);