【发布时间】:2012-05-01 15:43:41
【问题描述】:
这让我快疯了。我开发了一个应用程序小部件。一切正常。
我有一个配置活动,每次在主屏幕上添加小部件时都会启动它,并且效果很好。我保存每个小部件 ID 等的用户设置。
这个小部件有一些按钮,其中一个会启动一个带有关于信息的活动,即“关于活动”。
“关于活动”有一个按钮,我想用它来启动启动“关于活动”的小部件 ID 的配置活动。我想这样做的原因是因为我希望用户能够配置我的小部件的任何实例的内容,而无需将其删除并再次添加(以启动配置活动)。
配置活动需要 AppWidgetManager.EXTRA_APPWIDGET_ID 才能完成工作(保存此特定 widgetid 的用户设置),所以当我从另一个活动调用它时,我必须以某种方式传递这个额外的。显而易见的想法是:
startActivity(new Intent(context,act_configure.class).putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, ??? ));
现在我的问题是widgetid 在哪里?我找到了一百万种获取 widgetids(数组)的方法,但没有一条关于如何获取启动“About Activity”的特定 widgetid 的线索
任何有关这方面的帮助都会使我花在寻找解决方案上的时间变得有价值。提前谢谢你。
附言请原谅我的英语不是我的母语...
【问题讨论】:
-
我应该得到某种徽章。看来我问了最难的 android appwidgets 问题……
-
为什么不将小部件 id 放入启动您的 about 活动的意图中?所以大概知道id,可以用它来开始配置
-
这正是我想要实现的,但我找不到小部件 ID。它只在一个地方,在小部件提供程序的 onUpdate 方法中。因此,基于这一事实和 Cory Chaltron 的回答,我终于设法完成了这项工作。请参阅已接受答案和我的答案中的 cmets。非常感谢。
标签: android configuration android-appwidget