正在寻找这个问题的信息是我认为与此处寻求的信息相似(但不一样)......
" 我们可以通过BLE蓝牙与Android配对多少台设备? "
......所以让我们以不同的方式重新问一遍:
假设我们有一个用例,手机用户可能希望使用配对安全地连接(使用行业标准安全机制)蓝牙LE设备.当配对发生时,绑定信息存储在移动电话中 - - >设置 - - >无线 - - >蓝牙 - - >配对设备窗口(对话框).
无论是否维护活动连接,这些"配对设备"仍将保留在此列表中,对吗?
如果这个答案是正确的,那么在Android OS(或iPhone的iOS)开始引发性能问题之前,可以在此列表中累积数百或数千个以前的配对/绑定设备?
我的理解是...... Android操作系统或iPhone OS都没有提供编程能力来"清理"旧的配对/绑定设备列表.如果他们允许配对/保税设备列表失控,那些忽视手动移除这些设备的移动电话用户可能面临挑战.
思考?非常感谢,-DJ Regan
2018年11月12日更新...今日新消息:在使用Android分析许多BLE配对设备时 - >我的队友发现他们的蓝牙无线电在尝试配对到第102次后变得不可用(如无法使用)设备+今天.其他分析正在进行中.那么......也许这是一个用例,iOS或Android都不值得信赖支持?--DJ Regan
我正在构建一个针对5.0+的Android应用,它使用BLE连接到多个外围设备.这些外围设备中的每一个都具有许多(~10)特性.理想情况下,我想订阅这些特征中每一个特征的变化通知.
但是,我从阅读中理解的是,Android的蓝牙实施对可以激活的同时通知的数量实施了硬性限制.此问题确定了在Android蓝牙实施中定义限制的位置,并且还记录了限制随时间的变化:
最大并发活动通知(
BTA_GATTC_NOTIF_REG_MAX):
- Android 4.3上的4
- Android 4.4上的7
- Android 5.0+上的15
Dave Smith在此视频中确认了这些数字,并建议:
在5.0+设备上进行测试,但是,我发现,我似乎能够成功订阅更超过15个通知.到目前为止,我已经观察到:
这些通知订阅通过两项措施取得成功:
GATT_SUCCESS;这是好消息.一方面,更多"真实"通知==>减少手动轮询==>更好的用户体验.另一方面,无法创建导致"真实"通知设置失败的条件意味着我无法轻松编写或测试手动回退代码,一旦将此应用程序发布给真实用户,肯定会(?)需要这些代码.
问:管理蓝牙连接的最佳做法是什么?
我已经阅读了android蓝牙指南和许多蓝牙连接教程.对封装设计和最佳实践没有帮助.
我以前从未编译过与外部设备的连接.我需要两个星期的时间来绕过扫描附近蓝牙设备的代码并将它们扔进ListView.听众,广播和适配器!
我的项目将在蓝牙收据打印机上每15分钟打印1-40张收据.目前,安全性不是问题.在同一个连接上,它也将接收数据(同时发送和接收似乎不是必要的,但会很有用).我还不确定如何在这个单个加密狗设备上配置设备,但我猜这些设备是通过USB控制器连接到加密狗的.
到目前为止,我有一个对象来管理单个I/O连接.静态地我打开一个活动来选择一个连接(以后在数据库中保存标签,mac和pin).根据教程,我有"打开","收听","发送"和"关闭"方法.令我困惑的是"如何"使用这些功能.我可以整天打开连接(10小时)并每隔3分钟使用一次吗?我应该在发送或请求数据时打开/关闭连接吗?我在哪里可以检测到需要重新连接?