我在我的应用程序中使用 Wakelock 来防止手机在应用程序可见时进入睡眠状态。
当方向发生变化并且系统在横向模式下销毁并重新创建应用程序时,就会出现问题。如果wakelock 计时器在后台已过期,系统会将wakelock 的释放作为关闭屏幕的机会。
编辑:我应该提到我正在设置唤醒锁 onResume,并释放 onPause - 据我了解,有必要释放然后以防止应用程序泄漏唤醒锁。
我需要唤醒锁来继续改变方向。
下面我概述了一个解决方案。这是处理它的首选方法吗,还有其他选择吗?
创建一个持有唤醒锁(而不是活动)的服务,当活动解除绑定时,服务会启动一个倒计时计时器(例如 10 秒),如果活动没有重新绑定,它将在计时器到期时释放唤醒锁。如果是简单的方向更改,则 Activity 将在那 10 秒内重新绑定并保持唤醒锁,如果没有,唤醒锁将被释放。
谢谢。