android调服务不更新,android – OnUpdate()不调用小部件服务

在开发Android应用小部件时遇到一个问题,当数据库更新时,小部件的onUpdate()方法不再被调用,导致服务无法更新列表视图。已尝试通过手动调用WidgetProvider的onUpdate()方法来触发更新,但未成功。问题在于如何在数据库变化时正确刷新小部件的列表视图。
摘要由CSDN通过智能技术生成

我正在为我的应用程序开发一个小部件.窗口小部件名称是历史记录,当用户浏览任何URL时,我将其存储在本地数据库中,从中列出该窗口小部件.

当我打开小部件时,它从本地数据库中获取所有细节并在小部件的列表视图中显示它.

1)当我打开小部件时,首先调用WidgetProvider的onUpdate方法

2)然后onUpdate()将调用服务WidgetService

3)然后服务将调用Widget Factory使用本地存储的db更新列表视图.

在小部件工厂中,它将获取db值并更新小部件中的lisviews.

以上是设置窗口小部件时发生的过程.

第一堂课:

public class WidgetProviderFavorite extends AppWidgetProvider {

@SuppressWarnings("deprecation")

@Override

public void onUpdate(Context ctxt, AppWidgetManager appWidgetManager,int[] appWidgetIds) {

for (int i=0; i

Intent svcIntent=new Intent(ctxt, WidgetServiceFavorite.class);

svcIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetIds[i]);

svcIntent.setData(Uri.parse(svcIntent.toUri(Intent.URI_INTENT_SCHEME)));

RemoteViews widget=new RemoteViews(ctxt.getPackageName(),R.layout.w

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值