How to update widgets from a service?(如何从服务更新小部件?)
问题描述
我有一个后台服务,可以配置为每 x 分钟执行一次操作.我想实现一个小部件,每次我的服务执行该操作时都会更新.但是,我无法以任何方式调用 AppWidgetProvider 的 onUpdate 方法,除非将小部件添加到主屏幕.
I have a background service that can be configured to perform some action every x minutes. I want to implement a widget that gets updated every time my service performs that action. However, I can't get the onUpdate method of my AppWidgetProvider called in any way, except when adding a widget to the homescreen.
我尝试发送 APPWIDGET_UPDATE 意图,但 onUpdate 没有被调用,尽管 AppWidgetProvider 确实收到了意图,因为调用了 onReceive 方法.有什么方法可以从服务触发小部件更新?
I tried sending APPWIDGET_UPDATE intents but onUpdate did not get called although the AppWidgetProvider did receive the intent since the onReceive method was called. Is there any way I can trigger widget updates from a service?
推荐答案
只需让自己成为一个 RemoteViews
并直接在 Service
中更新小部件.您将通过以下方式获得 AppWidgetManager
:
Just make yourself a RemoteViews
and update the widget(s) directly in the Service
. You'll get your AppWidgetManager
via:
AppWidgetManager mgr=AppWidgetManager.getInstance(this);
其他一切正常.
注意:-如果您真的想强制现有的 AppWidgetProvider
完成工作,请向您的组件发送带有自定义操作的广播,然后调用 onUpdate()
自己从 onReceive()
获取时.
Note:- If you really want to force the existing AppWidgetProvider
to do the work, send a broadcast with a custom action to your component, and call onUpdate()
yourself from onReceive()
when you get it.
这篇关于如何从服务更新小部件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何从服务更新小部件?


基础教程推荐
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01