gpt4 book ai didi

android - 在不破坏现有小部件的情况下重命名 AppWidgetProvider

转载 作者:搜寻专家 更新时间:2023-11-01 09:22:16 40 4
gpt4 key购买 nike

我最近发现,在我重命名扩展 AppWidgetProvider 的类(作为代码整理的一部分)并安装修改后的应用程序后,现有的小部件会中断,只显示“问题加载小部件”。

向主屏幕添加一个新的小部件效果很好,只是现有的小部件坏了。虽然作为开发人员,我不介意删除现有的小部件并添加新的小部件,但我的应用程序的用户不会乐意这样做,因为每个小部件都需要时间来重新配置。

那么,有没有一种方法可以在不破坏现有小部件的情况下安全地重命名 AppWidgetProvider 类?我当然可以保留这个名字,但它让我感到不安,因为我永远坚持这个名字(事后看来有点令人困惑)。

最佳答案

不幸的是,没有办法修复它。问题出在更改的 ComponentName 中。 AppWidgetHost 只是试图从 AppWidgetManager 获取您的小部件,而 AppWidgetManager 试图通过 ComponentName 获取以前的小部件,所以在改变你的AppWidgetProvider包名,AppWidgetHost不能恢复你以前的widgets,因为他保存了oldComponentName。因此,如您所见,无法更改 AppWidgetProvider 的包名称。

关于android - 在不破坏现有小部件的情况下重命名 AppWidgetProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53895115/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com