PendingIntent发送错误的意图/ putExtra

时间:2014-08-27 14:34:50

标签: java android android-appwidget

我正在开发一个appWidget,我遇到了第一个大问题 我需要发送到我的应用程序(CoreActivity),用户点击图像X或图像Y(等) 这是什么形象(在这个例子中:餐馆或出租车)。

我的问题是:当用户点击图片时,它总是发送最后一个putExtra(在这个例子中出租车)。当我点击logo_1或image1_1时,它总是发送"出租车"到我的CoreActivity。

你知道为什么吗?因为我无法在这里发现任何错误......

感谢您带来的所有帮助,感谢您抽出的时间(即使是阅读此问题^^)。
祝你有愉快的一天。

final RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.widget_demo_4l_4c);

Intent logo_1Intent = new Intent(context, CoreActivity.class);
Intent image1_1Intent = new Intent(context, CoreActivity.class);
Intent image2_1Intent = new Intent(context, CoreActivity.class);

image1_1Intent.putExtra(CoreActivity.EXTRA_WIDGET_KEY, "Restaurant");
image2_1Intent.putExtra(CoreActivity.EXTRA_WIDGET_KEY, "Taxi");


PendingIntent logo_1PendingIntent = PendingIntent.getActivity(context, 0, logo_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent image1_1PendingIntent = PendingIntent.getActivity(context, 0, image1_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent image2_1PendingIntent = PendingIntent.getActivity(context, 0, image2_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);

views.setOnClickPendingIntent(R.id.logo_1, logo_1PendingIntent);
views.setOnClickPendingIntent(R.id.image1_1, image1_1PendingIntent);
views.setOnClickPendingIntent(R.id.image2_1, image2_1PendingIntent);

appWidgetManager.updateAppWidget(appWidgetId, views);

1 个答案:

答案 0 :(得分:3)

PendingIntent logo_1PendingIntent = PendingIntent.getActivity(context, 0, logo_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent image1_1PendingIntent = PendingIntent.getActivity(context, 2, image1_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent image2_1PendingIntent = PendingIntent.getActivity(context, 3, image2_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);

您需要在每个PendingIntent上设置不同的标识符。