Как определить версию Bluetooth на Android?

В настоящее время я разрабатываю приложение BLE, и я хотел бы отфильтровать обнаруженные устройства и оставить в списке только совместимые с BLE.

Используя Broadcom API, было довольно легко узнать, является ли устройство BLE. К сожалению, DROID RAZR не предоставляет библиотеку Broadcom, поэтому мне пришлось использовать библиотеку Motorola BLE... и, как ни странно, у них нет способа проверить версию Bluetooth.

Я прочитал все возможные нативные классы Bluetooth для Android и не смог найти подходящую для меня информацию (я нашел категории - ПК, смартфоны и т. д., но без версии).

Кто-нибудь знает, как проверить версию Bluetooth отсканированного устройства?


person SharkyLV    schedule 06.07.2012    source источник
comment
Вы пытались импортировать API Broadcom?   -  person gobernador    schedule 06.07.2012
comment
Как я сказал. Я не могу использовать Broadcom API на своем телефоне. Он отлично работает на эмуляторе, но если я хочу, чтобы он был на телефоне, мне нужно использовать библиотеку использования, что не разрешено (Android). Поэтому мне пришлось использовать их родной API Motorola.   -  person SharkyLV    schedule 06.07.2012


Ответы (1)


Когда вы обнаружили устройства, если вы можете получить android.bluetooth.BluetoothDevice для устройств Bluetooth, возможно, вы можете использовать официальный 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;
}
person ifeegoo    schedule 08.08.2015