Две кнопки с PendingIntents — Виджет

Я создаю виджет с двумя кнопками. Один из них обновляет содержимое виджета, а второй должен запускать активность.

У меня есть два 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);

person user986689    schedule 28.10.2011    source источник


Ответы (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);

добавить импорт, если необходимо.

Надеюсь, что-то из этого заставит ваш виджет работать.

person GalDude33    schedule 08.01.2012

Проверьте эту ссылку, чтобы узнать, какая кнопка была нажата, когда в виджете есть две или более кнопок.

https://stackoverflow.com/a/10733049/1331593

Это должно работать... Если это не работает, пожалуйста, дайте мне знать, в чем проблема...

person Tamal Samui    schedule 24.05.2012