7

当我的线程发送 HTTP 请求时,我想防止 Android Mobile 进入睡眠模式。正如线程进行 HTTP 调用时发生的那样,手机进入睡眠模式,而当用户唤醒手机时,线程永远不会完成。

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

4

3 回答 3

10

你需要一个WakeLock。有不同种类的唤醒锁,因此请务必选择满足您需求的最不激进的一种。特别是听起来您需要Partial Wake Lock

部分唤醒锁 - 确保 CPU 正在运行的唤醒锁。屏幕可能没有打开。

此外,请确保将权限添加android.permission.WAKE_LOCK到清单中。最后确保完成后释放你的锁。

于 2011-03-01T14:21:54.207 回答
4

为了防止手机进入睡眠状态,您可以使用WakeLock,但这样做时您应该小心,以免耗尽用户的电池。如果手机进入睡眠状态,用户真的关心你的应用是否完成了它发出的请求吗?

您还需要WAKE_LOCK权限。

于 2011-03-01T14:22:49.593 回答
1

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

于 2018-07-28T08:26:15.043 回答