Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android SDK中确定BT耳机类型(SCO或A2DP)?_Android_Bluetooth_Headset - Fatal编程技术网

如何在Android SDK中确定BT耳机类型(SCO或A2DP)?

如何在Android SDK中确定BT耳机类型(SCO或A2DP)?,android,bluetooth,headset,Android,Bluetooth,Headset,我的应用程序中有一个广播接收器,它通过跟踪android.bluetooth.device.action.ACL_CONNECTED广播来记录BT设备的每个连接。但我需要知道BT设备是否是耳机,更重要的是,它是SCO还是A2DP耳机。我可以通过BluetoothClass.Service了解所连接设备支持哪些服务,但我不知道每种类型的耳机应该对应哪些服务。以下是列出的: AUDIO CAPTURE INFORMATION LIMITED_DISCOVERABILITY NETWORKING

我的应用程序中有一个广播接收器,它通过跟踪
android.bluetooth.device.action.ACL_CONNECTED
广播来记录BT设备的每个连接。但我需要知道BT设备是否是耳机,更重要的是,它是SCO还是A2DP耳机。我可以通过BluetoothClass.Service了解所连接设备支持哪些服务,但我不知道每种类型的耳机应该对应哪些服务。以下是列出的:

AUDIO 
CAPTURE
INFORMATION 
LIMITED_DISCOVERABILITY 
NETWORKING 
OBJECT_TRANSFER 
POSITIONING 
RENDER 
TELEPHONY

有人能告诉我哪一个决定了耳机配置文件类型(耳机、免提或A2DP?

您可以使用BluetoothProfile.ServiceListener并监听OnServiceConnected,您将收到A2DP或SCO连接的通知。
请参见

抱歉,我应该提到--我需要它在OS 2.0及更高版本(API 5)上工作,这一个是API 11,所以我必须按照我在原始帖子中的方式来做,只是不知道哪些服务属于哪个配置文件上面的信息只给出了设备有音频时的信息,如果服务中有音频。没有办法知道哪个配置文件使用旧的公共API。(可以通过私有API实现)好的,我可以根据BluetoothClass确定协议吗?设备?它列出了所有可能的主要和次要设备类别,那么有没有列出哪些CLS是SCO,哪些是A2DP?不,你不能确定配置文件类型-你只能猜测,通常可以做A2DP的设备也可以做免提…因此设备类别将那么,回到我的问题——我如何“猜测”?哪些设备类对应于哪些可能的配置文件?我需要看看设备是否有特定的类组合吗?