【发布时间】:2018-10-09 05:06:51
【问题描述】:
我想知道onUpdate 方法。我知道第一次将小部件放置在主屏幕上时调用它,然后在我在 appwidget info xml 文件中定义的时间段内调用它。
但似乎每当我对AppWidgetProvider 类进行更改时,也会调用此方法,即。添加或删除方法。这个观察正确吗?我不明白这如何触发onUpdate 方法?
public class ExampleAppWidgetProvider extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for (int appWidgetId : appWidgetIds) {
Intent intent = new Intent(context, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
SharedPreferences prefs = context.getSharedPreferences(SHARED_PREFS, Context.MODE_PRIVATE);
String buttonText = prefs.getString(KEY_BUTTON_TEXT + appWidgetId, "Press me");
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.example_widget);
views.setOnClickPendingIntent(R.id.example_widget_button, pendingIntent);
views.setCharSequence(R.id.example_widget_button, "setText", buttonText);
Bundle appWidgetOptions = appWidgetManager.getAppWidgetOptions(appWidgetId);
resizeWidget(appWidgetOptions, views);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
【问题讨论】:
标签: android android-widget android-appwidget appwidgetprovider