什么原因导致onAppWidgetOptionsChanged在Android上没有被调用?

时间:2013-06-30 16:23:23

标签: android android-widget

我希望能够根据窗口小部件的新大小隐藏/显示远程视图中的项目。

我已将以下代码放在我的WidgetProvider类中,但它永远不会被调用。移动小部件会调用onReceive。这就是全部..

@Override
public void onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidgetManager, int appWidgetId, android.os.Bundle newOptions) {
    Log.d("WidgetProvider","onAppWidgetOptionsChanged");
    super.onAppWidgetOptionsChanged(context, appWidgetManager, appWidgetId, newOptions);

};

这背后的原因是什么?

3 个答案:

答案 0 :(得分:1)

检查你是否在onReceive方法中调用super.onReceive。

答案 1 :(得分:1)

有些TouchWiz设备使用广播代替处理此问题。请在此处查看我的回答:How to catch widget size changes on devices where onAppWidgetOptionsChanged not getting called?

希望这是你的问题。没有更多的信息,虽然我不知道为什么你不会得到这个。

答案 2 :(得分:0)

从API级别16(4.1 +)开始支持

onAppWidgetOptionsChanged()回调。您将从以下链接获得更多详细信息。

https://developer.android.com/reference/android/appwidget/AppWidgetProvider.html#onAppWidgetOptionsChanged(android.content.Context, android.appwidget.AppWidgetManager, int, android.os.Bundle)