如何避免旧的小部件在重大代码返工期间失败/消失?

时间:2012-10-25 22:26:13

标签: android android-appwidget

我在市场上有一个支持小部件的应用程序。我对应用程序进行了一些重大更改,重新修改了许多内部,替换/重命名活动等。其他更改包括从不同的共享首选项键获取窗口小部件配置数据,尽管我已编写转换代码来处理迁移。该应用程序按照我的意愿工作,包括小部件,从新鲜安装。但是,我现在正在测试从旧版本的应用程序升级到新版本(通过模拟器)。我看到一些奇怪的行为。有一次,小部件在初始启动时显示正常,但是当点击时尝试启动旧活动而不是我编程的新活动。所以第一个问题是,为什么小部件没有更新到app install上的新代码?

我测试升级的其余尝试导致现有小部件在新版本安装时完全消失。可能是什么导致了这个? log-cat日志中没有任何注释。有什么建议吗?

1 个答案:

答案 0 :(得分:6)

  

...替换/重命名活动......

有你的问题。如果重命名AppWidget接收器,它将消失。唯一的解决方案是不重命名它。

类似于可以固定到主屏幕的活动。如果重命名活动,主屏幕图标将消失。

在此处详细了解:Android Developers Blog: Things That Cannot Change