【问题标题】:Widget Update when user switches homescreen用户切换主屏幕时的小部件更新
【发布时间】:2010-06-24 09:01:48
【问题描述】:

当小部件在主屏幕上可见时是否会触发事件。我的意思不是在安装时,我的意思是如果用户通过擦拭手机表面来改变他的主屏幕。 这个问题的背景是,我在小部件内部的服务中设置了一个计时器,该计时器从 url 获取更新,但如果小部件不在当前主屏幕上,则应该停止。

弗洛伊德

【问题讨论】:

    标签: android android-widget


    【解决方案1】:

    有一种方法可以做到这一点,您可以收听 Intent.ACTION_USER_PRESENT 广播并在接收到意图时更新您的小部件。

    当用户解锁主屏幕时触发。

    我在我的应用程序中使用它,并且非常适合在解锁时更新您的小部件。

    【讨论】:

      【解决方案2】:

      不,对不起。主屏应用有几十种,有些甚至可能没有“擦手机表面”的概念。主屏幕只是一个带有特定<intent-filter> 的活动。

      【讨论】:

      • 这很奇怪。我将 Yahoo-Currency Widget 放在不同的主屏幕上。如果我从默认主屏幕擦除到该屏幕,则此小部件开始更新其货币数据。所以不知何故它知道它现在是可见的。
      • 你怎么知道它只是在刷卡时“开始更新其货币数据”?
      • 我不知道。我只是看到它。你猜怎么着?
      • 你是不是觉得它一直在更新,我只是觉得激活它就完成了?顺便提一句。我对 HTC Sense 有一个愿望,但我可以在我的 Android 2.1 模拟器上看到相同的效果。我会尝试检查 yahoo-widget 在不可见屏幕上时是否不断更新。
      • 我相信应用小部件一直在更新。如果您有确凿的相反证据,请告诉我!
      【解决方案3】:

      不确定这是否有帮助,但我偶然发现了这个..

      WallpaperManager.setWallpaperOffsets()WallpaperService.onOffsetChanged()

      也许你可以用这个?设置壁纸偏移量并使用 onOffsetChanged() 获取当前偏移量?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-19
        • 2013-05-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-27
        相关资源
        最近更新 更多