【发布时间】:2011-06-10 00:35:37
【问题描述】:
我为 Android 开发了一个 APP + 主屏幕小部件。现在我更新了应用程序(增加了版本代码/名称),但是当我安装时,它不会自动替换屏幕上现有的小部件。它只是说“问题加载小部件”。
有什么想法吗??
【问题讨论】:
我为 Android 开发了一个 APP + 主屏幕小部件。现在我更新了应用程序(增加了版本代码/名称),但是当我安装时,它不会自动替换屏幕上现有的小部件。它只是说“问题加载小部件”。
有什么想法吗??
【问题讨论】:
您是否更改了实现您的小部件的广播接收器的类名?如果是这样,请不要这样做。
【讨论】:
当然还有相关的用例,在主页上加载了一个小部件,然后用户卸载包含小部件和小部件配置应用程序的应用程序。我想这与必须进行卸载/安装周期的新版本相同。
发生这种情况时,您所看到的只是主屏幕上类似 toast 的框中的“问题加载小部件”。据我所知,该小部件没有任何迹象表明软件包正在被卸载,我猜主屏幕 AppWidgetManager 会显示一条默认消息。
操作系统团队的行为没有经过深思熟虑。我建议最好调用小部件的 onDisbled() 和 onDestroy() 方法,并在删除包之前从主屏幕中删除小部件,以便它们可以在需要时和用户(非极客手机用户)进行整理) 获得干净的体验。
commonsguy 说:Removing AppWidgets programmatically
我相信我们的开发人员可以处理奇怪的吐司,但对于非技术性的“普通”手机用户来说,这种行为会很快让他们重新使用 iPhone。
【讨论】:
这对我来说是正确的行为。再次安装应用程序时,也应再次安装其小部件。例如,如果有一个新的活动来配置小部件,作为用户,您如何知道它?
确实,从这个角度来看,根本无法保证新的小部件会运行。
【讨论】: