Спасибо за ответ! Я нахожу это довольно интересным. Я проверил это дальше, и это должно быть правдой, потому что это даже срабатывает, когда я просто добавляю еще одну пустую строку. И извините, что задал вопрос дважды, я совершенно об этом забыл.
нтересно проonUpdate
метод. Я знаю, что он вызывается при первом размещении виджета на homescree, а затем в течение периода времени, который я определил в XML-файле информации appwidget. Но кажется, что этот метод также вызывается всякий раз, когда я делаю изменения в моем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);
}
}