首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AppWidgetProvider:未调用onEnabled方法

AppWidgetProvider:未调用onEnabled方法
EN

Stack Overflow用户
提问于 2011-03-30 16:10:24
回答 2查看 4.2K关注 0票数 1

我有小工具,显示来自内容提供商的数据。我想知道内容提供商中的数据何时发生更改。据我所知,这样做的方法是

context.getContentResolver().registerContentObserver

但是当我添加小部件的第一个实例时,不会调用AppWidgetProvider.onEnabled方法。这就是为什么我不能做registerContentObserver的原因。onDisabled也是如此。

如何解决这个问题?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2011-10-13 07:06:02

您需要将android.appwidget.action.APPWIDGET_ENABLED添加为另一个操作:

代码语言:javascript
复制
<intent-filter>
    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    <action android:name="android.appwidget.action.APPWIDGET_ENABLED" />
    <action android:name="android.appwidget.action.APPWIDGET_DELETED" />
    <action android:name="android.appwidget.action.APPWIDGET_DISABLED" />  
</intent-filter>

否则,您将不会收到触发onEnabled()的广播。

注意: APPWIDGET_DELETED用于onDeleted(...),APPWIDGET_DISABLED用于onDisabled(...)

票数 6
EN

Stack Overflow用户

发布于 2011-03-30 19:08:43

AppWidgetProvider (或任何其他清单注册的BroadcastReceiver)不能调用registerContentObserver()。更改内容的实体将需要更新您的应用程序小部件,或者您将需要实现某种轮询机制(例如,基于android:updatePeriodMillis检查新内容)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5483651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档