我开发了一个应用程序,该应用程序使用服务流式传输音乐(通过互联网连接),并在电话闲置的情况下播放流媒体内容。
当我每次尝试下面提到的案例时,我都在开发我的应用程序时,音乐再现良好。
用例:搜索歌曲、从结果中选择歌曲、播放歌曲、关闭屏幕 -> 从结果列表中自动播放下一首歌曲
我正在使用真实设备进行开发 - 华为 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();