在使用Android L的Nexus 6屏幕关闭时声音不会停止

时间:2016-03-02 00:51:26

标签: android android-5.0-lollipop android-lifecycle

我正在开发一款应用,我找到了一些有趣的东西。

我的设备是带有L的Nexus 6.此问题也出现在另一台带有L的Nexus 6和我的朋友的带有L的三星S4上。我没有很多设备,因此无法收集更多样本。大多数手机似乎没有这个问题。

对于大多数应用,如果应用有音频,则应在屏幕关闭时暂停(活动,片段和声音)。

然而,对于我的手机(带有L的nexus 6),声音直到一段时间才会消失。我发现在安全设置中可以在“自动锁定”中调整周期的长度。如果您在屏幕关闭后30秒设置自动锁定,屏幕关闭后音乐将持续30秒。

我不知道这是一个Android错误吗?似乎在手机被锁定时调用onPause方法,而不是在屏幕关闭时调用。大多数手机似乎都没有这个问题,当屏幕关闭时会立即调用onPause。

从Fragment生命周期开始,当屏幕关闭时,片段应进入Paused状态。我认为在某些手机中有点奇怪(带有L的nexus 6) http://developer.android.com/guide/components/fragments.html

我的修复是注册广播接收器,听取屏幕开启和关闭。当屏幕熄灭时,它会调用onPause。它有点hacky但它​​确实解决了问题。我不知道其他人遇到过同样的问题吗?

重现步骤: 1.将睡眠时间设置为15秒(显示设置) 2.将自动锁定设置为30秒(安全设置) 3.打开合格的应用程序(有声音,并且不会阻止手机进入睡眠状态,如愤怒的小鸟,Cytus等) 4.等待屏幕关闭 5.注意屏幕关闭后声音是否持续30秒。

0 个答案:

没有答案