如何将旧的小部件迁移到新的小部件
How to migrate old widgets into a new one
我正在开发的应用程序现在有三个小部件。这些小部件中的每一个都有不同的大小和固定的布局文件。
现在我开发了一个可调整大小和自适应的新小部件。它根据其大小加载合适的布局文件。
现在,随着我的应用程序的下一次更新,我想实现以下目标:
- 在小部件抽屉中只列出新的自适应小部件,因此无法创建旧的小部件
- 已有的小部件应使用新小部件的逻辑来更新它们的视图
现在我认为这两个目标是相互矛盾的。当我从清单中删除或禁用小部件接收器时,小部件从小部件抽屉中消失,但同时主屏幕上的现有小部件中断。
当我让现有的小部件提供者使用新逻辑时,旧小部件的行为与新小部件一样,但在小部件抽屉中我有四倍相同的小部件。
有没有办法实现我的目标?如果没有,是否可以为新用户隐藏旧的小部件,而对于正在更新其应用程序的外部用户,它们将在那里?
非常感谢您的回答!
没有解决办法。当您移动小部件提供程序的包名称时,小部件将被删除。
我决定使用我的旧小部件的一个供应商,该供应商已迁移到新的小部件。其他三个被删除了。
我正在开发的应用程序现在有三个小部件。这些小部件中的每一个都有不同的大小和固定的布局文件。 现在我开发了一个可调整大小和自适应的新小部件。它根据其大小加载合适的布局文件。
现在,随着我的应用程序的下一次更新,我想实现以下目标:
- 在小部件抽屉中只列出新的自适应小部件,因此无法创建旧的小部件
- 已有的小部件应使用新小部件的逻辑来更新它们的视图
现在我认为这两个目标是相互矛盾的。当我从清单中删除或禁用小部件接收器时,小部件从小部件抽屉中消失,但同时主屏幕上的现有小部件中断。
当我让现有的小部件提供者使用新逻辑时,旧小部件的行为与新小部件一样,但在小部件抽屉中我有四倍相同的小部件。
有没有办法实现我的目标?如果没有,是否可以为新用户隐藏旧的小部件,而对于正在更新其应用程序的外部用户,它们将在那里?
非常感谢您的回答!
没有解决办法。当您移动小部件提供程序的包名称时,小部件将被删除。
我决定使用我的旧小部件的一个供应商,该供应商已迁移到新的小部件。其他三个被删除了。