繁体   English   中英

Android蓝牙低能耗摩托罗拉API配对

[英]Android Bluetooth Low Energy Motorola API pairing

我正在使用Motorola随RAZR提供的BT 4.0 API。 他们的一份文件中,它声明在连接和使用他们的框架之前,先使用Android API进行配对。 按照他们的指示,我一直在与OS蓝牙设置应用程序配对,但是它从未提示我输入密钥。 它会配对,但似乎没有结合,这对我来说至关重要。

我的问题是,当他们说“使用Android API”时,是指仅使用OS蓝牙实用程序事先进行配对(就像我一直在做的那样),或者有某种方法可以在我的应用程序中使用代码。 他们引用了“ createBond()”函数,据我所知,该函数不是可访问的函数(至少并非没有一些松散的库或反射)。

我们将不胜感激任何建议,尤其是那些成功使用了API的人,只要他们能够说明其过程。 我现在只是想澄清一下:)

劳埃德,

您是正确的,请按照发布的链接中的说明进行操作。

在编码之外,当他们说使用标准的android API进行“非le”操作时,他们的意思是继续进行ble设备配对,就像在android设置中的任何蓝牙经典设备一样->无线和网络->蓝牙- >扫描设备。

如果您使用的设备是摩托罗拉兼容设备,则该设备将配对但未连接。

现在,在代码中,您可以通过以下相同方法来检测此配对设备:

BluetoothAdapter.getDefaultAdapter().getBondedDevices()

要再次检查您的Android Phone是否兼容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心率配置文件连接到心率监测器,则这里是另一个Motorola文档的链接,该文档详细介绍了如何创建自己的LE Profile以与GATT框架一起使用。 http://developer.motorola.com/docs/bluetooth-low-energy-gatt-framework-api/

如果以上两个文档中的任何一点都不够清晰,则说明Motorola使用这些文档中的框架提供了示例android应用程序。

我猜摩托罗拉堆栈具有BLE支持。 但是我的感觉是,尽管它确实可以在某些传感器上工作,但它并不与需要绑定的设备配对。 我尝试了需要粘合的接近传感器。 尽管设备是通过Razr发现的,但是甚至没有使用S3,但它从未配对。

有一个有用的视频在这里

比赛迟到了,但可以确认-

如果您的BLE外围设备需要绑定,则必须先通过蓝牙设置将Moto X和其他一些较旧的摩托罗拉设备配对,然后再通过Android GATT接口进行编程连接。

如果您通过createBond方法进行绑定,或者读取了加密的特征,则尽管可能会建立表明绑定良好的DDMS日志,但通常会在60秒内断开连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM