Android 让服务与小部件通信
我做了一个服务,获取某物的状态并将该状态显示为通知。我还想在小部件中显示此状态。如何在服务和小部件之间进行通信?最简单的方法是让服务在状态更改时发送广播,并让小部件实现广播接收器 发送广播的文档如下所示: (在该页面中搜索sendBroadcast) BroadcastReciver的文档如下:您可以使用更新小部件 例如:Android 让服务与小部件通信,android,service,android-widget,Android,Service,Android Widget,我做了一个服务,获取某物的状态并将该状态显示为通知。我还想在小部件中显示此状态。如何在服务和小部件之间进行通信?最简单的方法是让服务在状态更改时发送广播,并让小部件实现广播接收器 发送广播的文档如下所示: (在该页面中搜索sendBroadcast) BroadcastReciver的文档如下:您可以使用更新小部件 例如: public class MyService extends IntentService { // ... private void updateWidge
public class MyService extends IntentService {
// ...
private void updateWidgets() {
AppWidgetManager widgetManager = AppWidgetManager.getInstance(this);
// Get a list of widgets to update
int[] widgetIds = widgetManager.getAppWidgetIds(new ComponentName(this, MyAppWidgetProvider.class);
// Update the widgets
RemoteViews updatedViews = // Create your new RemoteViews here
widgetManager.updateAppWidget(widgetIds, updatedViews);
}
}
我最喜欢的方法是使用事件总线。这是我完成这项任务所遇到的最干净的方式。查看Roman Nurik的Muzei项目,了解他如何利用GreenRobot的框架实现这一点。
这似乎也是一个很好的资源: