如何将旧的小部件迁移到新的小部件

How to migrate old widgets into a new one

我正在开发的应用程序现在有三个小部件。这些小部件中的每一个都有不同的大小和固定的布局文件。 现在我开发了一个可调整大小和自适应的新小部件。它根据其大小加载合适的布局文件。

现在,随着我的应用程序的下一次更新,我想实现以下目标:

  1. 在小部件抽屉中只列出新的自适应小部件,因此无法创建旧的小部件
  2. 已有的小部件应使用新小部件的逻辑来更新它们的视图

现在我认为这两个目标是相互矛盾的。当我从清单中删除或禁用小部件接收器时,小部件从小部件抽屉中消失,但同时主屏幕上的现有小部件中断。

当我让现有的小部件提供者使用新逻辑时,旧小部件的行为与新小部件一样,但在小部件抽屉中我有四倍相同的小部件。

有没有办法实现我的目标?如果没有,是否可以为新用户隐藏旧的小部件,而对于正在更新其应用程序的外部用户,它们将在那里?

非常感谢您的回答!

没有解决办法。当您移动小部件提供程序的包名称时,小部件将被删除。

我决定使用我的旧小部件的一个供应商,该供应商已迁移到新的小部件。其他三个被删除了。