【问题标题】:How to prevent phone from going to idle mode如何防止手机进入空闲模式
【发布时间】:2019-08-27 18:11:51
【问题描述】:

我开发了一个应用程序,该应用程序使用服务流式传输音乐(通过互联网连接),并在不让手机闲置的情况下提供流式传输内容。

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

用例:搜索歌曲、从结果中选择歌曲、播放歌曲、关闭屏幕 -> 从结果列表中自动播放下一首歌曲

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

我发现手机在连接到 USB 时可能会使设备保持唤醒状态,并且不会进入空闲模式,而在大约 5 分钟后未连接时,设备可能会关闭消耗能源的进程或关闭无法连接到移动数据,我不确定,我需要你们。

我还使用 HTC U Play - OS v6.0 测试了应用程序,并且在屏幕关闭且 10 分钟以上未触摸手机的情况下,流式传输流畅无中断。

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

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

【问题讨论】:

  • 你使用的是前台Service吗?
  • android:keepScreenOn="true" 用于布局或视图。
  • 从打盹模式中将您的应用列入白名单。 (实际上您需要请求您的用户执行此操作,但您可以启动意图)。这样您就不会受到电池优化的影响。
  • 白名单就是答案

标签: android battery idle-timer screen-off mobile-data


【解决方案1】:

您面临的这个问题可能是由于在 Andriod 6.0 之后,所有应用都在优化电池使用情况。

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

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

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

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

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

。在这里,您将看到不应“优化”的所有应用程序的列表(读取为“可以由 Doze 和 App Standby 处理”) - 默认情况下,该列表通常非常小,几乎所有应用程序都启用了“优化'。这对一般用户来说很好,但是如果像我一样,你希望一些应用程序在新的电池优化之外存在,然后点击“未优化”选择列表并选择“所有应用程序”

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

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

【讨论】:

  • 他可能想以编程方式启动正确的意图,而不是向每个用户描述如何做到这一点。见stackoverflow.com/questions/32627342/…
  • 谢谢你们,以编程方式更好地提高用户体验,尽管我可以通过检查我的设备来检查这是否是问题。
猜你喜欢
  • 2011-09-12
  • 2017-05-24
  • 2015-07-26
  • 2017-03-26
  • 1970-01-01
  • 2017-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多