【发布时间】:2019-02-07 04:59:51
【问题描述】:
我有一个针对 API 级别 19+ 的应用程序。我需要检查耳机是否已连接(有线或蓝牙)。
我看到AudioManager.isWiredHeadsetOn() 从 API 级别 16 开始已被弃用,并且文档提供使用仅从 API 级别 23 开始引入的AudioManager.getDevices()。
问题:检查耳机是否连接到 API 级别 16 - 22 的正确方法是什么?
注意:我知道我仍然可以使用已弃用的方法,但我不想这样做。如果他们弃用它,他们应该引入一个替代 API(我虽然找不到)。
【问题讨论】:
-
一种可能的解决方法是使用
NotificationListenerService.getActiveNotifications,因为连接耳机会产生通知,但这仅适用于 API 18。 -
要正确收听有线耳机插入/拔出广播,请参阅stackoverflow.com/questions/14708636
标签: java android android-audiomanager