我目前正在开发 BLE 应用程序,我想过滤发现的设备并在列表中只保留 BLE 兼容的设备。
使用 Broadcom API 很容易确定设备是否为 BLE。不幸的是,DROID RAZR 不提供 Broadcom 库,所以我不得不使用摩托罗拉 BLE 库......毫无疑问,他们没有检查蓝牙版本的方法。
我阅读了所有可能的原生 Android 蓝牙类,但没有找到与我相关的信息(我找到了类别 - 电脑、智能手机等,但没有版本。)
有谁知道如何检查扫描设备的蓝牙版本?
我目前正在开发 BLE 应用程序,我想过滤发现的设备并在列表中只保留 BLE 兼容的设备。
使用 Broadcom API 很容易确定设备是否为 BLE。不幸的是,DROID RAZR 不提供 Broadcom 库,所以我不得不使用摩托罗拉 BLE 库......毫无疑问,他们没有检查蓝牙版本的方法。
我阅读了所有可能的原生 Android 蓝牙类,但没有找到与我相关的信息(我找到了类别 - 电脑、智能手机等,但没有版本。)
有谁知道如何检查扫描设备的蓝牙版本?
当你发现设备时,如果你能得到蓝牙设备的 android.bluetooth.BluetoothDevice ,也许你可以使用 Android 官方的 Api BluetoothDevice.getType() 来过滤经典或 ble 设备。
/**
* Get the Bluetooth device type of the remote device.
*
* <p>Requires {@link android.Manifest.permission#BLUETOOTH}
*
* @return the device type {@link #DEVICE_TYPE_CLASSIC}, {@link #DEVICE_TYPE_LE}
* {@link #DEVICE_TYPE_DUAL}.
* {@link #DEVICE_TYPE_UNKNOWN} if it's not available
*/
public int getType() {
if (sService == null) {
Log.e(TAG, "BT not enabled. Cannot get Remote Device type");
return DEVICE_TYPE_UNKNOWN;
}
try {
return sService.getRemoteType(this);
} catch (RemoteException e) {Log.e(TAG, "", e);}
return DEVICE_TYPE_UNKNOWN;
}