【发布时间】:2016-04-20 12:50:34
【问题描述】:
我正在尝试演示 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)。显然我需要在这里交换密钥,但不知道该怎么做。
也不知道以前是否有人做过同样的练习,但如果有任何其他提示也将不胜感激!谢谢!
【问题讨论】:
-
有没有人知道整个初始 ANCS 通信应该如何进行的详细信息。内容提供者是否发起通信?通过 gatt 服务器 (gattserver.connect) 或通过 gatt 客户端 (bluetoothdevice.connectGatt)。内容提供者是否也向内容消费者请求的服务读取或写入某些内容?苹果开发者文档甚至没有提到 CCCD:s 的特性。所以任何更详细的东西都会很好。
-
嘿,我想在 android 上使用 ANCS,但我有一些帮助。我在 android 设备上的 GATT 服务器上发布数据,但 BLE 设备没有订阅。你知道为什么吗?
标签: android bluetooth-lowenergy ancs