博观而约取,厚积而薄发。这篇文章主要讲述Android蓝牙BLE我可以修改哪些连接的配置参数相关的知识,希望能为你提供帮助。
我正在开发一个使用蓝牙外设一个LE的应用程序。一切正常,我有特色服务等。我可以从传感器等获得价值。
问题是,在获取值时,app会不时'冻结',有时候外围设备会返回错误的值。我无法弄清楚为什么会这样。
所以我想尝试的是配置一些关于手机和设备之间连接的参数。这就是为什么我想知道在连接时我可以设置哪些参数(例如,在GATT的实例上,但不仅仅是)。我试图搜索有关它的一些信息,但它的信息很少。
这就是为什么我想要一个可以改变设备之间连接性能的参数列表。
我想做的最后一件事就是改变外围设备(adafruit)方面的一切。
答案由于没有人回答我的问题,我经历了主题(android蓝牙连接)标记的整个stackoverflow问题,我将分享我发现的内容。嗯,说实话,我找不到多少。关于android蓝牙的大多数问题都没有回答或没有正确/满意的答案。开发人员对BLE的了解如此之低?真?那太遗憾了。但跳到答案......
我想到的是,你几乎无法改变Android手机上的连接。这一切都在外围设备的业务中。我发现只有一个参数可以被“修改”,即“连接时间间隔”(每次数据传输之间的时间)。我标记为'已修改',因为您无法设置请求的数字(毫秒)。您只能为gatt连接设置3个参数:(使用requestConnectionPriority()方法)
CONNECTION_PRIORITY_BALANCED, CONNECTION_PRIORITY_HIGH and CONNECTION_PRIORITY_LOW_POWER
更多信息(但仍然不多)(https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#requestConnectionPriority(int))
但我不确定他们什么时候改变间隔。这就是你可以改变的一切。您无法更改监督超时(硬编码为20秒),您无法更改任何内容。所有剩下的都用于外设配置。 Mobile OS API不允许我们进行低级别设置。
【Android蓝牙BLE我可以修改哪些连接的配置参数】如果有人知道更多,请分享!
推荐阅读
- Android bluetoothSocket连接错误
- 使用android-beacon-library检测蓝牙设备
- 目前连接的蓝牙设备android
- Android蓝牙聊天示例无效,无法连接设备
- Android nougat(超过7.0.0)的BLE(蓝牙低功耗)无法读取数据
- 如何使用applescript打开带有quicktime播放器的MP3()
- Appium(连接到127.0.0.1:4723 [/127.0.0.1]失败:连接被拒绝:连接)
- 使用高CPU时通知。通过AppleScript或Automator()
- 在appengine-web.xml中显示“URI未注册”的Android Studio lint()