【问题标题】:How to release a wake lock?如何释放唤醒锁?
【发布时间】:2018-07-16 15:34:39
【问题描述】:

我正在使用wl.acquire() 设置唤醒锁。这工作正常。只要我的应用程序存在,我就需要那个唤醒锁,所以只能在应用程序离开时调用release()

我必须在某个地方致电release() 吗?例如onStop()?我会说不,但我不确定。

【问题讨论】:

  • 我不知道此信息是否可以帮助您,但每个视图上都有一个名为 KeepScreenOn 的属性。因此,将其设置为 True 将使您的应用程序始终处于唤醒状态...我知道我没有回答您的问题,但我认为您可能需要知道。

标签: android wakelock


【解决方案1】:

如果您参考这 2 个页面:

http://developer.android.com/reference/android/os/PowerManager.html

http://developer.android.com/reference/android/os/PowerManager.WakeLock.html#release()

您应该尽快释放唤醒锁:因此,如果您的应用正在关闭/暂停,请释放它!

另外,忠告,请绝对确保您需要唤醒锁,无论何时需要它并持续多久。

在我的情况下,我只为游戏中的屏幕放置了一个,以避免用户在思考时屏幕变黑(因为它是一个 opengl 应用程序,完全加载需要几秒钟),但在其他视图中我释放它。

相信我,因为应用程序强迫自己保持唤醒状态,用户最终没电会很烦人。

【讨论】:

    【解决方案2】:

    除了您已经收到的其他有用答案之外,我刚刚发现了这个关于如何force screen on 的有趣答案,如果您真的不需要唤醒锁,也许您会发现它也很有用。

    【讨论】:

    • 这个链接真的很有用。 :)
    【解决方案3】:

    只要我的应用程序存在 您的应用程序有多少活动?您可以在活动管理器弹出的最后一个活动的 onDestroy() 中释放它。

    是的,您必须解除锁定,尤其是在您要保持屏幕亮度时,以避免电池耗尽。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      相关资源
      最近更新 更多