【问题标题】:How to use android as ANCS content provider?如何使用 android 作为 ANCS 内容提供者?
【发布时间】: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


【解决方案1】:

问题是电话 BLE 堆栈已损坏或处于某些无效状态。重新启动并移除电池解决了绑定问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多