目睹 AppWidget 崩溃后,我在 logcat 中发现了这个错误:
10-04 12:46:17.315: I/dalvikvm(13791): 找不到方法 android.appwidget.AppWidgetProvider.onAppWidgetOptionsChanged,引用自方法 com.appkey.widget.MyAppWidgetProvider.onAppWidgetOptionsChanged
虽然我确实有一个onAppWidgetOptionsChanged
方法,但我的代码没有调用它,而且我认为系统只会从 API 级别 16 或更高级别调用它(根据 SDK 文档)。此错误发生在运行 android 4.0.4 @ API 级别 15 的三星 Galaxy S2 Epic (SPH-D710) 上。
public class MyAppWidgetProvider extends AppWidgetProvider {
@TargetApi(16)
@Override
public void onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidgetManager, int appWidgetId, Bundle newOptions) {
super.onAppWidgetOptionsChanged(context, appWidgetManager, appWidgetId, newOptions);
}
...
}