与PendingIntents的两个按钮 - 小部件

use*_*689 5 android widget android-intent 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);
Run Code Online (Sandbox Code Playgroud)

Gal*_*e33 2

尝试添加 getActivity PendingIntent.FLAG_UPDATE_CURRENT 以及...

 PendingIntent pendingIntentSettings =  
      PendingIntent.getActivity(context, 0, intentSettings, PendingIntent.FLAG_UPDATE_CURRENT);
Run Code Online (Sandbox Code Playgroud)

如果可以有多个小部件,也可以在其中添加 widgetId。

确保清单文件中列出了这两个活动/广播。

此外,尝试使用此构造函数创建 Intent:

 Intent intent = new Intent(context,ACTUALIZAR_WIDGET.class);
 Intent intentSettings = new Intent(context,WidgetConfig.class);
Run Code Online (Sandbox Code Playgroud)

如果需要,添加导入。

希望其中一些能让你的小部件正常工作。