想要在窗口小部件中的一个按钮来触发小部件类上的APPWIDGET_UPDATE意图强制进行更新,但是我不会在APP中看到APPWIDGET_UPDATE作为静态字段.
这是可能的,怎么会这样做?
Intent intent = new Intent(context,BaseWidgetProvider.class); intent.setAction({APPWIDGET_UPDATE INTENT HERE}) PendingIntent pendingIntent = PendingIntent.getActivity(context,intent,0); views.setOnClickPendingIntent(R.id.MyWidgetButton,pendingIntent);
解决方法
是的,这是可能的.您将在AppWidgetManager中找到该操作:
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE)
编辑:您将需要提供您要更新的小部件的ID.下面是一个完整的例子.
AppWidgetManager widgetManager = AppWidgetManager.getInstance(context); ComponentName widgetComponent = new ComponentName(context,YourWidget.class); int[] widgetIds = widgetManager.getAppWidgetIds(widgetComponent); Intent update = new Intent(); update.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS,widgetIds); update.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE); context.sendBroadcast(update);