【问题标题】:Stopping Timer when phone sleeps手机休眠时停止定时器
【发布时间】:2012-08-23 01:16:04
【问题描述】:

我正在我的应用程序的第一个屏幕上启动计时器。问题出在手机进入睡眠状态时。 Timer 触发的动作无法访问网络,导致应用崩溃。 我的解决方案是在手机进入睡眠状态时停止/重新启动计时器。

那么有没有我可以从 Application 类中实现的方法,例如 onLowMemory() 或 onTerminate()。 onSleep() 和 onWake() 会很好:)

【问题讨论】:

    标签: android timer sleep


    【解决方案1】:

    在您的第一个屏幕的Activity 代码中,您可以覆盖onStoponPause 并在那里取消您的计时器。选择最适合您的目的。

    然后,您可以在调用 onResumeonStart 时重新启动计时器。

    【讨论】:

    • 即使我在不​​同的活动中,这也能工作吗?还是我必须覆盖每个 Activity 的 onResume/start。
    • 您可以制作一个静态计时器,您可以通过Application 上下文访问该计时器。如果您只有第一个屏幕上的计时器,那么我猜这是您唯一需要这样做的地方。
    • 好的,我会走静态路线。感谢您的快速答复。
    • 我仍然有问题,我无法停止计时器 --' 它是静态的,我正在以静态方式访问它,但是当我执行 .cancel() 和 .purge()计时器内的 Log.w() 仍然显示在 logcat 上。怎么了?
    • 如果您发布代码的 sn-p,我将编辑我的答案并提出一些建议
    猜你喜欢
    • 2014-09-01
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多