2011-10-28 17 views
5

Estoy creando un widget con dos botones. Uno de ellos actualiza el contenido del widget y el segundo debe iniciar una actividad.Dos botones con PendingIntents - Widget

Tengo dos PendingIntent para cada acción, pero no puedo hacer que ambos funcionen. Si uno trabaja, el otro no.

He revisado el código y no puedo entender lo que está mal.

Cualquier ayuda será muy apreciada.

Este es el código.

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); 

Respuesta

2

Trate de añadir el getActivity PendingIntent.FLAG_UPDATE_CURRENT aswell ...

PendingIntent pendingIntentSettings = 
     PendingIntent.getActivity(context, 0, intentSettings, PendingIntent.FLAG_UPDATE_CURRENT); 

y si de múltiples widgets son posibles añadir el moduloid allí también.

Asegúrese de que ambas actividades/transmisiones se enumeren en el archivo de manifiesto.

Por otra parte, tratan de crear la intención con este constructor:

Intent intent = new Intent(context,ACTUALIZAR_WIDGET.class); 
Intent intentSettings = new Intent(context,WidgetConfig.class); 

añadir importaciones si es necesario.

Espero que algo de eso te haga funcionar como artilugio.

1

Comprobar este enlace para saber qué botón se ha hecho clic cuando hay dos o más botones en un widget ..

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

Se debe trabajar ... si no funciona, por favor hágamelo saber ¿cuál es el problema ...

Cuestiones relacionadas