在不同的包名称下移动 AppWidgetProvider 会破坏活动的小部件
Posted
技术标签:
【中文标题】在不同的包名称下移动 AppWidgetProvider 会破坏活动的小部件【英文标题】:Moving AppWidgetProvider under different Package name breaks active widgets 【发布时间】:2012-06-19 03:09:25 【问题描述】:我在包“com.developer.application”下有一个 AppWidgetProvider
我尝试将这个 AppWidgetProvider 移动到包“com.developer.application.widgets”下 这样做后,我更新了 androidManifest 中的所有引用以适应移动。
将更改上传到设备后,当前位于主屏幕上的小部件(与上述 AppWidgetProvider 相关联)会中断并永远显示“正在加载”图形。
我知道我的指针/包路径没有任何问题,因为如果我将小部件重新添加到主屏幕,一切正常。
简单地说,将 AppWidgetProvider 移动到不同的包并更新所有必要的引用仍然会破坏活动的主屏幕小部件。
有什么想法吗?谢谢!
马特。
【问题讨论】:
这个问题为我在 Xamarin.Android 项目中制作小部件时遇到的一个奇怪问题提供了“隧道尽头的曙光”。从 Xamarin.Android 10.1 或之前版本到 10.2 或更高版本进行了更新,他们更改了类的自动生成包名称。并导致您在问题中声明的问题。谢谢;) 【参考方案1】:我也经历过。
我的猜测是启动器保存了小部件的类名(包括包名),所以当你更改它时它就会中断。
【讨论】:
因为这确实有道理,所以我会接受这个答案。如果有人有建议,很高兴知道任何可能的修复/解决方法:) 我找不到任何解决方法。也许如果您在旧包中留下一个“虚拟”类并使其扩展新包中的类。 谢谢!! 7年后,我遇到了同样的问题。我猜必须是一个“功能”。 ;-) 有人找到解决方案了吗? 是对的,可惜没办法修复。如果你想知道为什么会这样,我写了一个详细的blog post关于这个问题。以上是关于在不同的包名称下移动 AppWidgetProvider 会破坏活动的小部件的主要内容,如果未能解决你的问题,请参考以下文章
带有 JPA 的 Spring Boot:将 @Entity 移动到不同的包
未找到具有不同 buildvariant 的包名称“....”的匹配客户端