Android应用Widget更新新版本会删除现有的Widget

问题描述

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

解决方法

        您是否更改了实现窗口小部件的广播接收器的类名?如果是这样,请不要这样做。     ,        当然,存在相关的用例,其中在主页上加载了小部件,然后用户卸载了包含小部件和小部件配置应用程序的应用程序。我猜这与必须卸载/安装周期的新版本相同。 发生这种情况时,您所看到的就是主屏幕上类似Toast的框中的“问题加载小部件”。据我所知,该小部件没有任何迹象表明该软件包已被卸载,然后我猜主屏幕AppWidgetManager会显示一条默认消息。 操作系统团队的行为没有经过深思熟虑。我建议最好先调用窗口小部件的onDisbled()和onDestroy()方法,并在删除软件包之前从主屏幕中删除窗口小部件,以便它们可以根据需要和用户的需要进行整理(非-极客电话用户)获得干净的体验。 我只能找到一种指示,即只有用户可以从主屏幕上删除小部件,commonsguy说:以编程方式删除AppWidgets 我相信我们的开发人员可以处理奇怪的吐司,但是对于非技术“普通”电话用户而言,这种行为会很快将他们带回到iPhone。     ,        这是我的正确行为。再次安装应用程序后,其小部件也应重新安装。例如,如果有一个新的活动来配置小部件,您如何以用户身份知道它? 从这个角度来看,确实没有办法保证一个新的小部件将完全运行。