在应用程序运行时阻止手机进入睡眠模式

时间:2011-03-01 14:18:33

标签: android sleep-mode

当我的线程发送HTTP请求时,我想阻止Android Mobile进入睡眠模式。正如线程正在进行HTTP调用时所发生的那样,移动设备进入睡眠模式,当用户唤醒时,电话线程永远不会完成。

用户必须重新启动应用。该怎么办?请帮忙

3 个答案:

答案 0 :(得分:10)

您需要WakeLock。有不同种类的唤醒锁定,因此请务必选择最不具备能力的唤醒锁定。特别是听起来你需要一个Partial Wake Lock

  

部分唤醒锁定 - 唤醒锁定,确保CPU正在运行。屏幕可能未打开。

另外,请确保将权限android.permission.WAKE_LOCK添加到清单中。完成后,最后要确保Release锁定。{/ p>

答案 1 :(得分:4)

为了防止手机睡眠,你可以使用WakeLock,但这样做时要小心,不要杀死用户的电池。如果手机进入睡眠状态,用户是否真的关心您的应用是否完成了正在进行的请求?

您还需要WAKE_LOCK权限。

答案 2 :(得分:1)

适用于JAVA: getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
对于KOTLIN: window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
使用此代码,它将使您的设备保持唤醒状态,并且您不需要任何权限。