如何防止 phone 进入空闲模式

How to prevent phone from going to idle mode

我开发了一个应用程序,可以使用服务流式传输音乐(通过互联网连接),并且在不 phone 闲置的情况下遇到流式传输内容的问题。

当我开发我的应用程序时,每次我尝试下面提到的案例时,音乐都可以很好地再现。

用例:搜索歌曲,select 结果中的歌曲,播放歌曲,屏幕关闭 -> 自动播放结果列表中的下一首歌曲

我正在使用真实设备 - Huawei Mate 20 Lite - OS v8.01 进行开发,因此在调试时必须使用 USB 电缆。 就像我在上面的用例中所说的那样,当连接到 USB 时,屏幕关闭时自动播放效果很好。效果不佳的情况是未连接电缆(仅打开移动数据)。

我发现 phone 当连接到 USB 时,设备可能会保持唤醒状态并且不会进入空闲模式,而当大约 5 分钟后未连接时,设备可能会关闭进程这会耗费能源或关闭与移动数据的连接我不确定,这就是我需要你们的地方。

我还使用 HTC U Play - OS v6.0 测试了应用程序,在屏幕关闭且 phone 超过 10 分钟未被触摸时,流式传输顺畅无中断。

我还尝试在 oncreate 中获取唤醒锁,但没有释放它只是为了看看它是否有帮助,但没有。

pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE); wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock"); wl.acquire();

您遇到这个问题可能是因为在 Andriod 6.0 之后,所有应用程序都针对优化电池使用进行了优化。

如果您真的认为,应用程序被杀死的原因是不活动。然后,可能是因为电池优化软件本身。

您可以在设备上安装应用程序时启用另一个权限,您可以通过为您的应用程序添加条目来更新未优化应用程序列表。

最初,您可以按照以下说明进行手动设置。

。前往“设置”应用程序,然后前往“电池”

。在右上角的“三点”菜单上,您会找到“电池优化”。

。在这里你会看到所有不应“优化”的应用程序列表(阅读“可以由打瞌睡和应用程序待机处理”)——默认情况下,列表通常非常小,几乎所有应用程序都启用了“优化'。这对一般用户来说很好,但是如果像我一样,您希望一些应用程序在新的电池优化之外运行,请点击“未优化”选择列表并选择“所有应用程序”

。如您所料,phone 上的每个应用程序都已列出(这可能很长)– 向下滑动直到找到您特别希望始终保留的应用程序 运行。点击应用名称

。从两个选项中,选中“不优化”框。