【问题标题】:How can I update a widget on receiving a broadcast?如何在接收广播时更新小部件?
【发布时间】:2013-07-07 09:36:25
【问题描述】:

我正在开发一个小部件,它显示来自一个完全独立的应用程序的信息。单独的应用程序在其数据更改时发送广播,我想在收到此广播后刷新/更新我的小部件。

但是,我似乎不知道如何从 BroadcastReceiver 中更新小部件。有没有办法做到这一点?或者其他方法可以获得相同的结果?

【问题讨论】:

    标签: android android-intent android-widget android-broadcast


    【解决方案1】:

    如果单独的应用对其广播有特殊操作,您可以将意图过滤器添加到小部件的清单中。像这样的:

    <receiver android:name="ExampleAppWidgetProvider" >
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            <action android:name="SEPARATE_APP_ACTION" />
        </intent-filter>
        <meta-data android:name="android.appwidget.provider"
                   android:resource="@xml/example_appwidget_info" />
    </receiver>
    

    只需在您 AppWidgetProvideronRecive 方法中处理它。 HTH。

    【讨论】: