一、问题描述
用户反馈,小部件添加到桌面使用一段时间后,小部件就变为空白了,而且小部件上的按钮都变为无效。一直没法稳定复现,后来又有用户反馈,深色浅色模式切换时也会这样,且100%复现。
二、问题定位
定位到了问题,我代码中没有重写onAppWidgetOptionsChanged方法,导致小部件外观变化时,没有重新加载小部件。
三、解决方案
在继承AppWidgetProvider类的代码中加如下代码
@Override
public void onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidgetManager, int appWidgetId, Bundle newOptions) {
Log.d(TAG,"onAppWidgetOptionsChanged");
super.onAppWidgetOptionsChanged(context, appWidgetManager, appWidgetId, newOptions);
//下面写自己的重加载小部件逻辑
}