0

我的 Sony SmartWatch 应用程序有问题。我开发了一个带有控件的小部件,但是在用户在设备上安装应用程序后,小部件的计划刷新任务会自动启动。这意味着刷新任务一直在运行,即使用户没有打开 SmartWatch Display 或启动小部件。这会耗尽电池电量。如果我转到小部件屏幕然后关闭显示,计划的任务会按预期停止。但是,如果我不这样做,则任务正在运行并正在运行......我如何检测显示器是否打开并且小部件正在运行?

非常感谢!

PS:是否选中“激活小部件”首选项没有区别....

编辑:我发现如果我取消选中首选项中的“显示为小部件”复选框,小部件源代码不会触发。这意味着如果刷新计划正在运行并且我取消选中此框,则永远不会调用 onDestroy,因此取消计划也不会......

4

1 回答 1

1

谢谢 - 我认为您发现了 SmartWatch 主机应用程序的不良行为,或者换句话说,一个错误。

安装后,主机应用程序会发送一个 START_REFRESH_IMAGE_REQUEST 以便能够缓存有关小部件的信息。但是,它不会调用它可能应该调用的 STOP_REFRESH_IMAGE_REQUEST。这需要调查。

当我们正在调查这种不良行为时,您应该尝试找到解决问题的解决方法。例如,您可以有一个全局静态变量或 SharedPreference,用于跟踪何时发送第一个 START_REFRESH 信号,从而能够停止刷新周期。

再次感谢,抱歉。

当我了解有关解决问题的更多信息时,我将再次在此线程中发布。

于 2012-09-20T10:41:51.880 回答