与PendingIntents的两个按钮 - 小部件

时间:2011-10-28 19:06:13

标签: android android-intent widget android-pendingintent

我正在创建一个带有两个按钮的小部件。 其中一个更新小部件的内容,第二个必须启动一个活动。

我为每个动作都有两个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);

2 个答案:

答案 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

应该有效...如果它不起作用,请告诉我这是什么问题......