我有一个应用程序,当在手机上使用时会显示扬声器切换按钮。这个切换按钮可以在耳机和扬声器之间进行音频路由的切换。然而,当应用程序在平板电脑(或任何没有耳机的设备)上运行时,我希望删除这个切换按钮,因为所有的音频都通过扬声器进行路由。
理想情况下,我想使用一些类型的isEarpiecePresent()
调用,或者可能检查某个配置对象上的标志来查找此信息,但我在API中找不到任何类似的东西。
我尝试通过调用AudioManager.setSpeakerphoneOn(false)
,然后检查AudioManager.isSpeakerphoneOn()
来解决问题,希望它仍然返回true,这样我就可以依此进行键控。但系统返回了false
,即使音频仍然通过扬声器进行路由。
目前,我正在考虑检查电话功能,尽管这并不完全符合我的需求。还有其他的想法吗?