劳埃德,
您是对的,请按照您发布的链接中的说明进行操作。
在编码之外,当他们说使用标准的 android api 进行“非 le”操作时,他们的意思是继续配对 ble 设备,就像在 android 设置 -> 无线和网络 -> 蓝牙 - 中的任何蓝牙经典设备一样 - > 扫描设备。
如果您使用的设备是与motorola le 兼容的设备,则ble 设备将配对但未连接。
现在,在代码中,您可以通过相同的方法检测此配对设备
BluetoothAdapter.getDefaultAdapter().getBondedDevices()
要仔细检查您的 Android 手机是否与 LE 兼容,请运行以下代码:
public static boolean checkBLESupport() {
boolean deviceSupportsLE;
try {
@SuppressWarnings({ "unused", "rawtypes" })
Class object = Class.forName("android.server.BluetoothGattService");
deviceSupportsLE = true;
} catch (Exception e) {
deviceSupportsLE = false;
}
return deviceSupportsLE;
}
当您循环连接绑定的设备时,请仔细检查您配对的蓝牙设备是否为 LE。使用此代码检查设备。
if (device.getBluetoothClass() == null) {
Log.i(TAG, "This device is BLE compatible");
b = true;
} else {
Log.i(TAG, "This device is not BLE");
b = false;
}
现在要建立从您的 LE 兼容手机到您的 LE 兼容蓝牙设备的连接,请按照您发布的链接下的 Gatt 服务说明进行操作。http://developer.motorola.com/docs/bluetooth-low-energy-api/
请注意,在此示例中,它连接到蓝牙低能量心率监测器。
如果您不尝试使用 LE 心率配置文件连接到心率监测器,这里是另一个摩托罗拉文档的链接,其中详细介绍了创建您自己的 LE 配置文件以与 GATT 框架一起使用。http://developer.motorola.com/docs/bluetooth-low-energy-gatt-framework-api/
如果这些文档中的任何地方的说明都不够清楚,摩托罗拉提供了使用这些文档中的框架的示例 android 应用程序。