我正在尝试演示 android 端服务(ANCS 术语中的内容提供者),它与支持 Apple 通知服务 (ANCS) 通知消费者的嵌入式设备进行通信。原因是嵌入式设备仅支持 ANCS。由于Apple公开了ANCS BLE方面的东西,这应该是可能的,我已经将该服务+相关特征添加到android端gatt服务器。嵌入式设备是 nordic nRF52,SW 是 nordic ANCS demo。演示适用于 iPhone,显然适用于 nRF 控制面板的桌面版本(如果添加了北欧提供的配置,并且如果你有 windows 机器,我没有)。
但是我似乎无法将设备与 android 绑定,这是连接之前所必需的。该广告处于受限发现模式(绑定之前),因此我无法通过设置中的常规扫描找到它。从java代码绑定也不起作用。使用 mBluetoothDevice.createBond() 我得到 ACTION_BOND_STATE_CHANGED 回调,状态为 10 (BluetoothDevice.BOND_NONE),旧状态为 11(BluetoothDevice.BOND_BONDING)。显然我需要在这里交换密钥,但不知道该怎么做。
也不知道以前是否有人做过同样的练习,但任何其他提示也将不胜感激!谢谢!