我有 2 个版本的应用程序,免费和付费,但一直在单独维护代码。我终于将代码移动到两者都引用的库中,以便更轻松地维护代码。
我发现更改AppwidgetProvider
导致启动器删除任何现有小部件,因此我将这些类移出库以保持提供者相同,因此用户不必重新创建他们的小部件。启动器不再删除小部件,而是在更新后根本不会出现。
如果我AppWidgetManager.getAppWidgetIds
像往常一样调用组件名称,appwidgetid 仍然存在。appwidgetprovider 和服务仍然被调用来更新小部件,并且/data/system/appwidgets.xml
仍然显示小部件,但启动器从不显示它。
并不是说它是不可见的,因为长按小部件位置会调出壁纸选择器。我可以很好地创建新的小部件,但我不想让用户重新创建他们的小部件来让他们感到沮丧。日志不显示启动器或AppwidgetService
.
任何想法为什么小部件在更新后停止渲染?它在某种程度上与将大部分代码移动到单独的库中有关。谢谢!
编辑:我正在模拟器上进行测试,API 级别 15,股票启动器