我正在开发一个应用程序,该应用程序可以让用户存储和收听语音消息,并且当用户将手机拿到耳边时,我想更改音频输出源。
我尝试使用SensorManager
,但发现三星设备的接近传感器有问题(我有Galaxy S10e)。经过一番研究,我发现最好的选择是使用PROXIMITY_SCREEN_OFF_WAKE_LOCK
,现在当我将手机从耳朵上拿进和拿出时,屏幕会关闭并打开(这是一件好事)。但是,使用唤醒锁不会调用onResume()
或onPause()
,也不会发送ACTION_SCREEN_ON
或ACTION_SCREEN_OFF
广播。
反正有没有听PROXIMITY_SCREEN_OFF_WAKE_LOCK
活动的信息,所以我知道何时更改音频输出源?
提前感谢:)
[如果有人偶然发现了这篇文章。我的解决方案是注册SenseorEventListener
和获取PROXIMITY_SCREEN_OFF_WAKE_LOCK
唤醒锁。
显然,如果获得了唤醒锁,则接近传感器可以正常工作:)