gpt4 book ai didi

android - 小部件的多个实例仅更新最后一个小部件

转载 作者:IT王子 更新时间:2023-10-28 23:26:50 26 4
gpt4 key购买 nike

我有一个 WidgetProvider 和一个 Configure Activity

当 Widget 启动时,它从配置 Activity 开始,我通过对 widgetprovider 进行自定义调用来设置它

(您会注意到来自 sdk 教程示例)

 // Push widget update to surface with newly set prefix
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
AwarenessWidget.updateAppWidget(context, appWidgetManager,
mAppWidgetId, position);

// Make sure we pass back the original appWidgetId
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
setResult(RESULT_OK, resultValue);
finish();

我将小部件 ID 传递给函数....在小部件内部我创建了一个这样的 Intent:

  Intent configIntent = new Intent(context, Configure.class);
configIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);

PendingIntent pendingIntent = PendingIntent.getActivity
(context, 0, configIntent,
PendingIntent.FLAG_UPDATE_CURRENT);

views.setOnClickPendingIntent(R.id.MainImage,pendingIntent);

views.setImageViewResource(R.id.MainImage, lv_images[version]);

appWidgetManager.updateAppWidget(appWidgetId, views);

我总是引用小部件 ID,甚至将其添加为 Intent 的额外内容但是当我在主屏幕上获得其中两个小部件时,小部件 ID 始终引用最后放置的小部件 ID

最佳答案

我遇到了类似的问题。只需将其添加到您设置 PendingIntent 的配置 Activity 中:

Uri data = Uri.withAppendedPath(
Uri.parse(URI_SCHEME + "://widget/id/")
,String.valueOf(appWidgetId));
intent.setData(data);

变量 URI_SCHEME 是一个字符串,可以是你想要的任何值。即 - “ABCD” 这会导致每个小部件都有一个唯一的 PendingIntent。

关于android - 小部件的多个实例仅更新最后一个小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4011178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com