【问题标题】:Android app Widget update new version removes the existing widgetAndroid 应用 Widget 更新新版本移除现有小部件
【发布时间】:2011-06-10 00:35:37
【问题描述】:

我为 Android 开发了一个 APP + 主屏幕小部件。现在我更新了应用程序(增加了版本代码/名称),但是当我安装时,它不会自动替换屏幕上现有的小部件。它只是说“问题加载小部件”。

有什么想法吗??

【问题讨论】:

    标签: android widget


    【解决方案1】:

    您是否更改了实现您的小部件的广播接收器的类名?如果是这样,请不要这样做。

    【讨论】:

    • 好电话。我还不得不更改 RemoteViewsService 的名称以匹配。
    【解决方案2】:

    当然还有相关的用例,在主页上加载了一个小部件,然后用户卸载包含小部件和小部件配置应用程序的应用程序。我想这与必须进行卸载/安装周期的新版本相同。

    发生这种情况时,您所看到的只是主屏幕上类似 toast 的框中的“问题加载小部件”。据我所知,该小部件没有任何迹象表明软件包正在被卸载,我猜主屏幕 AppWidgetManager 会显示一条默认消息。

    操作系统团队的行为没有经过深思熟虑。我建议最好调用小部件的 onDisbled() 和 onDestroy() 方法,并在删除包之前从主屏幕中删除小部件,以便它们可以在需要时和用户(非极客手机用户)进行整理) 获得干净的体验。

    commonsguy 说:Removing AppWidgets programmatically

    我相信我们的开发人员可以处理奇怪的吐司,但对于非技术性的“普通”手机用户来说,这种行为会很快让他们重新使用 iPhone。

    【讨论】:

      【解决方案3】:

      这对我来说是正确的行为。再次安装应用程序时,也应再次安装其小部件。例如,如果有一个新的活动来配置小部件,作为用户,您如何知道它?

      确实,从这个角度来看,根本无法保证新的小部件会运行。

      【讨论】:

        猜你喜欢
        • 2012-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-09
        • 1970-01-01
        • 1970-01-01
        • 2020-09-26
        • 2012-01-06
        相关资源
        最近更新 更多