自动安卓发布了4.0版本的蓝牙协议之后,越来越多的开发者收到了各种针对于BLE蓝牙的开发需求。
而且有很多时候还需要兼容以前的3.0版本,给大家的开发带来了困扰,笔者也遇到了这样的问题,偶然间发现了getType()这个函数的妙用。
public int getType () Added in API level 18
Get the Bluetooth device type of the remote device.
Returns the device type DEVICE_TYPE_CLASSIC, DEVICE_TYPE_LE DEVICE_TYPE_DUAL. DEVICE_TYPE_UNKNOWN if it’s not available
public static final int DEVICE_TYPE_CLASSIC Added in API level 18
Bluetooth device type, Classic – BR/EDR devices Constant Value: 1 (0x00000001)
public static final int DEVICE_TYPE_DUAL Added in API level 18
Bluetooth device type, Dual Mode – BR/EDR/LE Constant Value: 3 (0x00000003)
public static final int DEVICE_TYPE_LE Added in API level 18
Bluetooth device type, Low Energy – LE-only Constant Value: 2 (0x00000002)
public static final int DEVICE_TYPE_UNKNOWN Added in API level 18
Bluetooth device type, Unknown Constant Value: 0 (0x00000000)
跟据这个接口,你可以方便的定义一个函数用来分辨搜索到的蓝牙设备的版本。如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public static String deviceTypeTyString(int paramInt) { switch (paramInt) { default: return "UNKNOWN"; case 1: return "CLASSIC"; case 3: return "CLASSIC and BLE"; case 2: } return "BLE only"; } public static boolean isBLEDevice( BluetoothDevice device ) { return (device.getType() == 2); } |
- 本文固定链接: http://4past.net/?p=72
- 转载请注明: X先生 2015年09月02日 于 X先生 发表