相关疑难解决方法(0)

Android中蓝牙LE设备的最大绑定数量即"配对设备"是多少?

正在寻找这个问题的信息是我认为与此处寻求的信息相似(但不一样)......

" 我们可以通过BLE蓝牙与Android配对多少台设备? "

......所以让我们以不同的方式重新问一遍:

假设我们有一个用例,手机用户可能希望使用配对安全地连接(使用行业标准安全机制)蓝牙LE设备.当配对发生时,绑定信息存储在移动电话中 - - >设置 - - >无线 - - >蓝牙 - - >配对设备窗口(对话框).

无论是否维护活动连接,这些"配对设备"仍将保留在此列表中,对吗?

如果这个答案是正确的,那么在Android OS(或iPhone的iOS)开始引发性能问题之前,可以在此列表中累积数百或数千个以前的配对/绑定设备?

我的理解是...... Android操作系统或iPhone OS都没有提供编程能力来"清理"旧的配对/绑定设备列表.如果他们允许配对/保税设备列表失控,那些忽视手动移除这些设备的移动电话用户可能面临挑战.

思考?非常感谢,-DJ Regan


2018年11月12日更新...今日新消息:在使用Android分析许多BLE配对设备时 - >我的队友发现他们的蓝牙无线电在尝试配对到第102次后变得不可用(如无法使用)设备+今天.其他分析正在进行中.那么......也许这是一个用例,iOS或Android都不值得信赖支持?--DJ Regan

android bluetooth ios

6
推荐指数
1
解决办法
607
查看次数

Android蓝牙低功耗特性通知计数限制:这是否因设备而异?

上下文

我正在构建一个针对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在此视频中确认了这些数字,并建议:

  • 这些限制对于设备是全局的(即,如果某个其他应用程序订阅了2个通知,则我的应用程序可用的数量减少2个);
  • 这些限制不应基于Android OS级别以外的任何其他级别(即它们应独立于制造商,实际硬件功能等).

问题

在5.0+设备上进行测试,但是,我发现,我似乎能够成功订阅超过15个通知.到目前为止,我已经观察到:

  • Pixel XL运行7.1.1
  • Galaxy S6运行6.0.1
  • Nexus 5运行5.X

这些通知订阅通过两项措施取得成功:

  1. 关贸总协定的运作状况是GATT_SUCCESS;
  2. 该应用程序能够接收有关所有目标特征的特征变化的通知.

这是好消息.一方面,更多"真实"通知==>减少手动轮询==>更好的用户体验.另一方面,无法创建导致"真实"通知设置失败的条件意味着我无法轻松编写或测试手动回退代码,一旦将此应用程序发布给真实用户,肯定会(?)需要这些代码.

问题

  • 是否期望这种限制忽略行为?(我无法在其他地方找到它.)
  • 是否有任何设备已知最多15个通知我可以用来测试不愉快的路径?

android bluetooth-lowenergy android-bluetooth

4
推荐指数
1
解决办法
2059
查看次数

我该如何管理Android中的蓝牙连接?

问:管理蓝牙连接的最佳做法是什么?

我已经阅读了android蓝牙指南和许多蓝牙连接教程.对封装设计和最佳实践没有帮助.

  • 我应该何时打开/关闭连接?
  • 与单个蓝牙设备的"连接"是否称为"套接字"连接?
  • 单个连接可以在收听时发送数据吗?(......或听力状态之间).

我以前从未编译过与外部设备的连接.我需要两个星期的时间来绕过扫描附近蓝牙设备的代码并将它们扔进ListView.听众,广播和适配器!

我的项目将在蓝牙收据打印机上每15分钟打印1-40张收据.目前,安全性不是问题.在同一个连接上,它也将接收数据(同时发送和接收似乎不是必要的,但会很有用).我还不确定如何在这个单个加密狗设备上配置设备,但我猜这些设备是通过USB控制器连接到加密狗的.

到目前为止,我有一个对象来管理单个I/O连接.静态地我打开一个活动来选择一个连接(以后在数据库中保存标签,macpin).根据教程,我有"打开","收听","发送"和"关闭"方法.令我困惑的是"如何"使用这些功能.我可以整天打开连接(10小时)并每隔3分钟使用一次吗?我应该在发送或请求数据时打开/关闭连接吗?我在哪里可以检测到需要重新连接?

java android bluetooth connectivity

2
推荐指数
1
解决办法
3745
查看次数