1

我目前正在开发 BLE 应用程序,我想过滤发现的设备并在列表中只保留 BLE 兼容的设备。

使用 Broadcom API 很容易确定设备是否为 BLE。不幸的是,DROID RAZR 不提供 Broadcom 库,所以我不得不使用摩托罗拉 BLE 库......毫无疑问,他们没有检查蓝牙版本的方法。

我阅读了所有可能的原生 Android 蓝牙类,但没有找到与我相关的信息(我找到了类别 - 电脑、智能手机等,但没有版本。)

有谁知道如何检查扫描设备的蓝牙版本?

4

1 回答 1

1

当你发现设备时,如果你能得到蓝牙设备的 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;
}
于 2015-08-08T16:38:02.793 回答