我有2个版本的应用程序,免费和付费,但一直在维护代码。我终于将代码移入了两个引用的库中,以便更轻松地维护代码。小部件在更新应用程序后消失,使用库
我发现更改AppwidgetProvider
导致启动程序删除任何现有的小部件,所以我将这些类从库中移出以保持提供程序相同,以便用户不必重新创建其小部件。启动程序不再删除小部件,但相反,它们在更新后不会显示。
如果我为组件名称调用AppWidgetManager.getAppWidgetIds
,因为它始终是,appwidgetid仍然存在。 appwidgetprovider和服务仍然被调用来更新小部件,并且/data/system/appwidgets.xml
仍然显示小部件,但启动程序从不显示它。
这并不是说它不可见,只要按下小部件位置就可以调出壁纸选择器。我可以创建新的小部件,但我不想通过让用户重新创建小部件来挫败用户。日志不会显示启动程序或AppwidgetService
引发的任何错误。
小部件在更新后停止渲染的任何想法?它与将大部分代码移动到单独的库中有某种关系。谢谢!
编辑:我在模拟器上,API等级15,股票发射
嗨,你提到“改变AppwidgetProvider导致发射器删除任何现有的小部件”。你的意思是改变扩展AppwidgetProvider的类的代码吗? – jclova