【问题标题】:How to I feed Widget with Background Service Android如何使用后台服务 Android 提供小部件
【发布时间】:2017-08-25 20:58:54
【问题描述】:

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

【问题讨论】:

    标签: android service widget broadcastreceiver appwidgetprovider


    【解决方案1】:

    只需在 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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-26
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      相关资源
      最近更新 更多