我希望在应用程序中播放声音,但仅当没有通过手机的内置扬声器播放时。为了做到这一点,我认为需要找出是否连接了外部扬声器(有线扬声器、蓝牙耳机、有线耳机等)。
我发现
相反,如果有一种方法可以告诉声音将通过内置扬声器路由,那么也可能同样有效。
我发现
AudioManager.isWiredHeadsetOn()
已被弃用,但仍可使用,但这只显示有线耳机已插入。是否有类似于蓝牙的选项?那样是否能涵盖所有可能的音频选项?相反,如果有一种方法可以告诉声音将通过内置扬声器路由,那么也可能同样有效。
ACTION_HEADSET_PLUG
仅用于监视有线耳机。 - Andrew Lasher