3

我有以下问题:当应用程序升级时,活动的主屏幕小部件消失了。它在 onUpdate() 被调用之前返回到原始 XML 布局,并且不再接收广播。

任何被覆盖的方法都不会被调用(onDeleted()、onEnabled()、onDisabled() 或 onAppWidgetOptionsChanged())。

打开应用程序后,我设法重新初始化小部件,并将小部件的默认文本保留为“重新安装小部件”以通知用户。

但是,有一个非常重要的用例被遗漏了,特别是当用户在安装后没有打开应用程序,但想要使用小部件时(见图)。

有谁知道一种方法来检测小部件何时以编程方式死亡,而无需打开应用程序?

我知道正在运行的小部件代码来自旧的 apk,但是安装应用程序后小部件实际上并没有死掉,并且布局只有在主屏幕导航到时才会恢复,这告诉我应该成为“介入其中”的一种方式。

另外,我知道小部件不会立即死亡,因为如果小部件在它第一次死亡(进入主屏幕)之前重新初始化,它就不会产生影响。这就是为什么在关闭应用程序时需要延迟线程来重新初始化小部件的原因。

当前解决方案

4

0 回答 0