热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

在Android上同时与多个BLE设备进行稳健通信

如何解决《在Android上同时与多个BLE设备进行稳健通信》经验,为你挑选了1个好方法。

虽然使用Android BLE apis的无证,传统智慧是某些操作,如读/写特征和描述符应该一次一个(虽然有些设备比其他设备更宽松).但是,我不清楚此策略是仅应用于单个连接还是应用于所有活动连接.

我听说最好一次启动一个设备连接.这可能是应该在所有设备之间串行执行的操作(connect/connectGatt)的示例.

但是对于其他操作,比如读写特性,如果每个连接串行执行操作,或者我是否需要在所有设备之间共享一些全局操作队列,以便在所有设备之间只执行一个操作?



1> Emil..:

在Android上,根据BluetoothGatt对象,您应该一次只执行一个操作(请求mtu,发现服务,读/写特性/描述符)否则会出错.您必须等到相应的回调被调用,直到您可以执行下一个操作.

关于同时连接到多个设备的连接,如果你使用autoCOnnect= true那么没有问题但是如果你使用autoCOnnect= false那么Android的蓝牙堆栈将只尝试一次连接到一个设备,这意味着它将入队连接请求是否有多个未完成的.有一个特殊的错误,它无法取消仍在队列中的挂起连接(当您调用.disconnect()或.close()时),但最近在Android中已修复.

请注意,还有一个最大数量的连接/挂起连接/ gatt对象,当您超出这些限制时,行为完全没有记录.在最好的情况下,你只是得到一个错误状态的回调,但在某些情况下,我已经看到android蓝牙堆栈卡在无限循环中,在每次迭代中它告诉蓝牙控制器连接到设备但控制器发回到达的错误代码最大连接数.


推荐阅读
  • SvpplyTable: 实现可扩展和可折叠的菜单动画
    SvpplyTable 是一个示例项目,旨在实现类似 Svpply 应用程序中的可扩展和可折叠的菜单动画效果。该项目托管在 GitHub 上,地址为 https://github.com/liuminqian/SvpplyTable。 ... [详细]
  • 面试题总结_2019年全网最热门的123个Java并发面试题总结
    面试题总结_2019年全网最热门的123个Java并发面试题总结 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 本文详细介绍了 com.apollographql.apollo.api.internal.Optional 类中的 orNull() 方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 本文详细介绍了Linux系统中用于管理IPC(Inter-Process Communication)资源的两个重要命令:ipcs和ipcrm。通过这些命令,用户可以查看和删除系统中的消息队列、共享内存和信号量。 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 介绍如何使用 `document.createElementNS` 方法创建带有特定命名空间 URI 和限定名称的元素。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • 本文详细介绍了如何使用Python的多进程技术来高效地分块读取超大文件,并将其输出为多个文件。通过这种方式,可以显著提高读取速度和处理效率。 ... [详细]
  • 如何高效查看Java API和源码
    在Java学习过程中,查看API文档和源码是提高编程能力的重要手段。本文将详细介绍如何使用各种工具和方法高效地查看Java API和源码。 ... [详细]
  • 我在使用 AngularJS 的路由功能开发单页应用 (SPA),但需要支持 IE7(包括 IE8 的 IE7 兼容模式)。我希望浏览器的历史记录功能能够正常工作,即使需要使用 jQuery 插件。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
author-avatar
imjob1234_34706
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有