我的索尼SmartWatch应用程序有问题。我已经开发了一个带有控件的小部件,但在用户在设备上安装应用程序后,小部件的计划刷新任务会自动启动。这意味着刷新任务一直在运行,即使用户没有打开SmartWatch显示或启动小部件也是如此。这会耗尽电池的电量。如果我转到小部件屏幕,然后关闭显示,scheduled Task就会像预期的那样停止。但如果我不这样做,任务就会一直在运行,一直在运行...如何检测显示器是否打开以及小部件是否正在运行?
非常感谢!
附注:是否选中“激活小部件”首选项没有区别...
编辑:我发现如果我在首选项中取消选中“显示为Widget”复选框,widget源码就不会触发。这意味着如果刷新计划正在运行,而我取消选中此框,则永远不会调用onDestroy,因此取消计划也不会...
发布于 2012-09-20 18:41:52
谢谢-我认为您已经发现了SmartWatch主机应用程序的不良行为,或者换句话说,是一个错误。
安装后,主机应用程序将发送一个START_REFRESH_IMAGE_REQUEST,以便能够缓存有关小部件的信息。但是,它不调用STOP_REFRESH_IMAGE_REQUEST,这可能是它应该调用的。这需要进行调查。
在我们调查此不良行为时,您应该尝试找到解决方法来解决此问题。例如,您可以有一个全局静态变量或SharedPreference,用于跟踪何时发送第一个START_ refresh信号,从而能够停止刷新周期。
再次感谢,我很抱歉。
当我知道更多关于解决这个问题的信息时,我会在这个帖子里再发一次。
https://stackoverflow.com/questions/12476828
复制相似问题