gpt4 book ai didi

android - 如何获取与 appwidget ID 关联的 appwidget 布局

转载 作者:搜寻专家 更新时间:2023-11-01 08:51:32 25 4
gpt4 key购买 nike

我想获取与应用小部件 ID 关联的应用小部件布局。

在 appwidget 的 Widget provider 类中,android 文档提供了一种获取 appwidget id 的简单方法...

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
final int N = appWidgetIds.length;
// Perform this loop procedure for each App Widget that belongs to this provider
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];


但是他们的 ID 不允许我知道它来自哪个 appwidget 提供商(多个 widget 提供商和布局。)。

编辑:我正在使用服务类来更新小部件,而不是小部件提供程序类。

在服务类中,我想获取每个 id 的 appwidget 布局,以便我可以使用 remoteviews 更新该布局。我尝试了一些不同的建议,但没有一个能给我我需要与 remoteviews 一起使用的值(value)。例如“R.id.widget_layout”

我怎样才能以正确的“int”形式从 appwidget ID 中获取像“R.id.widget_layout”这样的值以与 remoteviews 一起使用?

最佳答案

您可以通过以下方式获取 AppWidget 布局 ID 和有关每个 AppWidget 的提供者的信息:

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
final int N = appWidgetIds.length;

for(int i=0; i<N; i++) {

int appWidgetId = appWidgetIds[i];

// you can use layoutId variable instead of R.id.widget_layout
int layoutId = appWidgetManager.getAppWidgetInfo(appWidgetId).initialLayout;
// String yourProvider will be something like .WidgetProvider2x2
String yourProvider = appWidgetManager.getAppWidgetInfo(appWidgetId).provider.getShortClassName();

}

}

关于android - 如何获取与 appwidget ID 关联的 appwidget 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22894590/

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