在我的微件提供者,我有以下代码:传递控件ID的活动
for (int widget_id : appWidgetIds) {
Log.d(TAG, "Widget Id: " + widget_id);
RemoteViews remoteViews;
Widget widget;
while (true) {
try {
widget = Widget.load(context, Widget.class, widget_id);
break;
}
catch (Exception ex) {
Log.e(TAG, "Exception!", ex);
}
}
// Widget is assigned to user
if (widget != null) {
remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget_with_user);
remoteViews.setCharSequence(R.id.user_text, "setText", widget.user.name);
remoteViews.setUri(R.id.avatar, "setImageURI", Uri.parse(widget.user.avatar));
}
else {
remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget);
Intent configIntent = new Intent(context, ConfigureWidget.class);
configIntent.setAction(ACTION_WIDGET_CONFIGURE);
configIntent.putExtra("widget_id", widget_id);
PendingIntent configPendingIntent = PendingIntent.getActivity(context, REQUEST_CODE_ONE, configIntent, 0);
remoteViews.setOnClickPendingIntent(R.id.configure_text, configPendingIntent);
}
appWidgetManager.updateAppWidget(widget_id, remoteViews);
}
在其他部分,我推出了配置活动,并试图将小部件ID传递给它。但是,该包始终为空:
Bundle extras = getIntent().getExtras();
if (extras != null) {
int widget_id = extras.getInt("widget_id");
}
如何才能将widget ID发送到启动的活动?
'公众诠释getIntExtra(字符串名称,整数默认值)' 检索来自意图扩展数据。 'getIntExtra'同样适用 – kabuko
你是对的,强调扩展在这里是不正确的。如果我没有记错,他们仍然是分离的值。 – 2011-09-02 22:57:11