是否有可能抛出意向APPWIDGET_UPDATE编程?有可能、抛出、意向、APPWIDGET_UPDATE

由网友(差点就心动)分享简介:想一个按钮,在我的小部件火APPWIDGET_UPDATE意图上的小部件类来强制更新,但我没有看到APPWIDGET_UPDATE作为意向静态字段。这是可能的,以及如何将一个做到这一点?意向意图=新的意图(背景下,BaseWidgetProvider.class);intent.setAction({APPWIDGE...

想一个按钮,在我的小部件火APPWIDGET_UPDATE意图上的小部件类来强制更新,但我没有看到APPWIDGET_UPDATE作为意向静态字段。

这是可能的,以及如何将一个做到这一点?

 意向意图=新的意图(背景下,BaseWidgetProvider.class);
intent.setAction({APPWIDGET_UPDATE意图HERE})
PendingIntent pendingIntent = PendingIntent.getActivity(上下文,0,意图,0);

views.setOnClickPendingIntent(R.id.MyWidgetButton,pendingIntent);
 

解决方案

是,这是可能的。你会发现在动作 AppWidgetManager

  

intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE)

编辑:您需要提供您要更新的小部件的ID。下面是一个完整的样本。

  AppWidgetManager widgetManager = AppWidgetManager.getInstance(上下文);
组件名widgetComponent =新的组件名(背景下,YourWidget.class);
INT [] widgetIds = widgetManager.getAppWidgetIds(widgetComponent);
意向更新=新意图();
update.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS,widgetIds);
update.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
context.sendBroadcast(更新);
 

Android之AppWidget 桌面小部件 开发浅析

Would like a button in my widget to fire the APPWIDGET_UPDATE intent on the widget class to force an update, but I dont see APPWIDGET_UPDATE as a static field in Intent.

Is this possible, and how would one do this?

Intent intent = new Intent(context, BaseWidgetProvider.class);
intent.setAction({APPWIDGET_UPDATE INTENT HERE})
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

views.setOnClickPendingIntent(R.id.MyWidgetButton, pendingIntent);

解决方案

Yes, it's possible. You'll find the action in AppWidgetManager:

intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE)

Edit: You will need to provide the ids of the widgets you want to update. Below is a complete sample.

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

阅读全文

相关推荐

最新文章