public class ExampleAppWidgetProvider extends AppWidgetProvider { private static final String TAG = "ExampleAppWidgetProvider"; private String playAction = "playService"; private String stopAction = "stopService"; private String resetAction = "resetService"; @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.v(TAG, "Action received = " + action); super.onReceive(context, intent); } @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidget_provider_layout); views.setOnClickPendingIntent(R.id.widget_play, this.getPendingSelfIntent(context, playAction)); views.setOnClickPendingIntent(R.id.widget_pause, this.getPendingSelfIntent(context, stopAction)); views.setOnClickPendingIntent(R.id.widget_reset, this.getPendingSelfIntent(context, resetAction)); appWidgetManager.updateAppWidget(new ComponentName(context, ExampleAppWidgetProvider.class), views); } protected PendingIntent getPendingSelfIntent(Context context, String action) { Intent intent = new Intent(context, ExampleAppWidgetProvider.class); intent.setAction(action); return PendingIntent.getBroadcast(context, 0, intent, 0); } }