如何使用Android后台服务提供Widget

时间:2017-08-25 20:58:55

标签: android service widget broadcastreceiver appwidgetprovider

我的应用程序中有widget属性。我从窗口小部件上的位置显示数据,但在3 4小时后不显示布局上的当前数据。我可以毫无问题地将它添加到主页,但它会在3或4小时后停止。此外,在我关闭和打开手机后,小部件布局看起来是空的。如何使用服务提供小部件?

1 个答案:

答案 0 :(得分:0)

只需在IntentService中创建更新appwidget的逻辑(可以使用AlarmManager或JobScheduler安排它),并在appwidget-provider中设置android:updatePeriodMillis =" 0"。要从服务更新应用小部件:

AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
RemoteViews views = makeRemoteViewForWidget();
appWidgetManager.updateAppWidget(widgetId, views); //update only one widget

//Or update all widgets
for (int widgetId : ids) {
        appWidgetManager.updateAppWidget(widgetId, views);
}