我只是想在 Jelly Bean 中调整大小时更新我的小部件。
所以我使用这段代码:
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onAppWidgetOptionsChanged(Context context,
AppWidgetManager appWidgetManager, int appWidgetId,
Bundle newOptions) {
Log.d("DEBUG_TAG", "I want to update Widget: "+appWidgetId);
appWidgetManager.updateAppWidget(appWidgetId,
getRemoteViews(context, minWidth, minHeight));
Log.d("DEBUG_TAG", "Widget "+appWidgetId+"should have been updated");
super.onAppWidgetOptionsChanged(context, appWidgetManager, appWidgetId,
newOptions);
}
不幸的是,什么也没发生。
我的 logcat 清楚地说应该更新小部件,正如预期的那样,但永远不会调用 onUpdate!
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
final int N = appWidgetIds.length;
Log.i("", "***Update "+N+" Widget*** ");
for (int i = 0; i < N; i++) {
int appWidgetId = appWidgetIds[i];
Log.i("", "***Widget*** "+appWidgetId );
但什么也没有发生。
我检查了当我创建我的小部件时,ID 是否正确(在我的情况下,id 是 29) 29 在调用 onAppWidgetOptionsChanged 时显示在日志中 29 在创建小部件时显示在日志中
非常感谢您的帮助。