我正在创建一个带有两个按钮的小部件。 其中一个更新小部件的内容,第二个必须启动一个活动。
我为每个动作都有两个PendingIntent,但是我不能让它们都工作。如果一个人工作,另一个人不工作。
我修改了代码,无法理解错误。
非常感谢任何帮助。
这是代码。
RemoteViews controls = new RemoteViews(context.getPackageName(), R.layout.miwidget);
Intent intent = new Intent("actony.com.ACTUALIZAR_WIDGET");
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetId);
Intent intentSettings = new Intent();
intentSettings.setClass(context,WidgetConfig.class);
PendingIntent pendingIntentUpdate = PendingIntent.getBroadcast(context, widgetId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
controls.setOnClickPendingIntent(R.id.BtnActualizar, pendingIntentUpdate);
PendingIntent pendingIntentSettings = PendingIntent.getActivity(context, 0, intentSettings, 0);
controls.setOnClickPendingIntent(R.id.botonSettings, pendingIntentSettings);
答案 0 :(得分:2)
尝试添加getActivity PendingIntent.FLAG_UPDATE_CURRENT以及......
PendingIntent pendingIntentSettings =
PendingIntent.getActivity(context, 0, intentSettings, PendingIntent.FLAG_UPDATE_CURRENT);
如果可以使用多个小部件,也可以在那里添加widgetId。
确保清单文件中列出了两个活动/广播。
此外,尝试使用此构造函数创建Intent:
Intent intent = new Intent(context,ACTUALIZAR_WIDGET.class);
Intent intentSettings = new Intent(context,WidgetConfig.class);
根据需要添加导入。
希望其中一些能让你的小部件工作。
答案 1 :(得分:2)
检查此链接,了解当窗口小部件中有两个或更多按钮时,单击了哪个按钮。
https://stackoverflow.com/a/10733049/1331593
应该有效...如果它不起作用,请告诉我这是什么问题......