背景

受到 https://www.jianshu.com/p/88858b8e5e67 的启发,我明确了要发现ANCS服务需要在配对并绑定蓝牙后。此文中的办法是在 ios侧使用 lightblue 模拟一个外设Heart Rate,让Android 搜索连接它,然后触发配对绑定,再接着搜索ANCS服务。操作起来还是比较繁琐。

我期待的是:在ios 的【设置-蓝牙】可以直接点击Android手机蓝牙设备名称,能配对成功并同时android能订阅ANCS。

简化操作方式

  1. 首先需要Android手机作为外设广播数据,其中的一个GATT服务uuid必须是ios可见的,经过测试,HID的服务是可见的,uuid为 1812 (00001812-0000-1000-8000-00805f9b34fb)

  2. 接着,在ios设置中,搜索蓝牙的界面选中第一步android广播出来的外设名称,此时ios会去连接此android外设,将会进入BluetoothGattServerCallback的回调事件

  3. 在BluetoothGattServerCallback的已连接事件中,先关闭GattServer。接着判断连接上的bt device(ios)是否已经绑定?

如果绑定:

mIphoneDevice.connectGatt(getApplicationContext(), false, mGattCallback);

如果未绑定:


try {createBond(device.getClass(),device);}catch (Exception e) {e.printStackTrace();}//然后在绑定成功的广播接收者中,调用mIphoneDevice.connectGatt(getApplicationContext(), false, mGattCallback);
  1. 此时android作为外设的使命完成了,就是为了拿到bt device并配对绑定。

  2. android转换角色为中央设备,对上面的bt device展开搜索服务、订阅通知等

  3. 接下来就是在ANCS的数据源,控制源,通知源中依据ANCS的协议进行显示、控制、数据解析等等了

具体的demo见 github:https://github.com/billzbh/Androdi-testANCSDemo

demo我把ios通知的内容直接发到android的通知栏里了,感觉也蛮有趣!!!

Android BLE订阅ios的ANCS另一个方式相关推荐

  1. android ble和ios ble 对比,低功耗蓝牙的坑对比,低功耗蓝牙的总结

    1.设备的蓝牙广播 蓝牙是固定定时发送31个字节的广播.(最多31个字节,可以小于,根据公司自身需要有硬件研发烧录进去).手机端打开蓝牙扫描,扫描到了设备的mac地址,但是这个mac地址是不能判断身份 ...

  2. Android BLE蓝牙踩坑总结

    简介 自从Android-BLE库开源了一段时间以来,越来越多的小伙伴问到了各种各样的关于BLE的奇怪问题,在这里我想跟大家分享一下本人对于Android BLE蓝牙的一些看法和解决方式,避免刚接触的 ...

  3. Android BLE 蓝牙开发-扫码枪集成

    一.蓝牙模式HID与BLE 当扫码枪与手机连接时,通常采用的是蓝牙HID(Human Interface Device)模式.本质上是一个把扫码枪作为一个硬件键盘,按照键盘协议把扫码后的结果逐个输入到 ...

  4. android手机上的ancs,Android BLE开发之操作IOS ANCS

    前言 之前写过两篇有关于ANCS的文章,最近一段时间老是有人问关于得到ANCS服务的问题,因为IOS ANCS不同于其他的Peripheral一样对周边所有的蓝牙设备广播自己,而是仅有连接上配对并连接 ...

  5. android onlescan 参数,Android BLE:从iOS外设广告时,在onLeScan()回调中检索服务UUID

    我正在使用Nexus 4(4.4 kitkat)作为中央和iPad作为外设.外围设备有广告服务.广告包有一些数据(22字节)的服务UUID.当我尝试从 Android扫描外围设备时,iPad外围设备被 ...

  6. android BLE Peripheral 手机模拟设备发出BLE广播 BluetoothLeAdvertiser

    android 从4.3系统开始可以连接BLE设备,这个大家都知道了.iOS是从7.0版本开始支持BLE.android 进入5.0时代时,开放了一个新功能,手机可以模拟设备发出BLE广播, 这个新功 ...

  7. Android BLE(3) ---FastBle解析

    Android BLE开发详解和FastBle源码解析 项目中有用到了蓝牙相关的功能,所以之前也断断续续地针对蓝牙通信尤其是BLE通信进行了一番探索,整理出了一个开源框架FastBle与各位分享经验. ...

  8. Android 系统(252)---Android:BLE智能硬件开发详解

    Android:BLE智能硬件开发详解 目录 前言 BLE是个什么鬼 BLE中的角色分工 主要的关键词和概念  GATT(Generic Attribute Profile ) Characteris ...

  9. HTML5网页录音和上传到服务器,支持PC、Android,支持IOS微信

    准备做一个网页版聊天界面,表情啊.图片啊.上传文件啊都应该要有,视频就算了,语音还是要的. 本文记录的是在网页上用GitHub上的Recorder进行在线录音和上传到服务器,前几天升了一下级,以后有时 ...

最新文章

  1. 解读Python的命名空间
  2. js实现模态框点击空白关闭
  3. 堆垛管理,下料管理系统
  4. QAQ的幸运数字 数学
  5. 设计灵感|三维时代!C4D人物设计案例
  6. SpringBoot注解验证参数
  7. java-背包的实现
  8. 专家答疑:揭开虚拟化的迷雾
  9. php mysql cpu使用率_Mysql CPU占用高的问题解决方法小结
  10. 共享内存、消息队列、信号量之ipcs命令详解
  11. 浪潮服务器显示一个红色闪电图标,华为手机开不了机,只显示一个红色圆圈里面一个红色闪电符号...
  12. python连接FTP服务器
  13. Linux下编译DCMTK,ACE问题记录
  14. python课程设计的心得体会_数据库课程设计心得体会精选篇
  15. 计算机网络网桥模拟课程设计,网桥模拟实验
  16. cad抠图 lisp_[原创]几个超级有用的裁剪用autocad--lisp程序
  17. Python使用百度地图API实现地点信息转换及房价指数热力地图
  18. 解决conda install pkgs found conflict问题
  19. python高级工程师证书_Amireux
  20. 射频电容 cog npo 等等

热门文章

  1. 信息系统项目管理师 第3章 项目立项管理-重点总结
  2. Ubuntu16 上安装 福昕PDF阅读器(Foxit PDF Reader)
  3. 学习之旅16-R数据可视化-图形处理(二)
  4. 软件安全测试-BurpSuite使用详解
  5. 2020年中国休闲渔业产业现状分析,整体产业快速扩展,疫情下产业市场受阻「图」
  6. Matlab转Python问题:一些图像图像处理相关函数的对应
  7. 【FMC134】ADC12DJ3200之4通道3.2GSPS(2 通道6.4GSPS) 12 位AD高速采集子卡设计原理图及调试经验
  8. linux内核内存申请函数:devm_kzalloc函数的实现进行解析
  9. Renesas新产品介绍--R-Car V3U
  10. VSCode 两个代码文档文件比较