搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
不正经
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【Windows 11】安装 Android子系统 和 Linux子系统_windows11 子系统
2
腾讯云服务器测评:16核 32G 28M_16核32g服务器怎么样
3
linux 进程学习体会——fork()
4
ESP32构建简单WebServer服务器_esp32 webserver
5
华为机考Java版_华为机考java环境
6
CentOS8详细安装教程--图文介绍超详细_centos8安装教程
7
[经验] git clone失败解决方案_git clone中断后怎么继续
8
黑群晖(DSM7)使用docker挂载zerotier one实现内网穿透
9
史上最牛mysql-06 (多表连接)_两个表关联时,两关联字段
10
Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError:/usr/local/openjdk-8/lib_handler dispatch failed; nested exception is java.
当前位置:
article
> 正文
Android 蓝牙总结_android ble 不支持30秒内 搜索5次?
作者:不正经 | 2024-03-05 16:05:51
赞
踩
android ble 不支持30秒内 搜索5次?
手上的蓝牙项目收尾了,这里做一下总结。
BLE 部分
1. Android 5.0 及以上可以请求MTU,有的手机请大了会失败,onMtuChange 回调方法中 会给出请到的MTU值。
2.Android 7.0 及以上 底层对搜索做了限制,30秒内最多搜索5次,频繁搜索底层不响应并报Error Log。
3.Android 6.0及以上 蓝牙搜索需要定位权限。
4.Android 8.0 开始 blueDroid开始支持蓝牙5.0,可以更新2M带宽,感觉连接速度变慢了。
5.Android 5.0 开始BLE搜索部分给出了新的API ,新API 对广播包做了解析,可以直接通过API 来拿广播中的字段值
5.0以下需要自己手撸解析。
6.API中有很多对象锁,有的操作需要异步调用。
7.连接和断开的动作需要放在主线程中执行,断开后 newState == BluetoothProfile.STATE_DISCONNECT 再执行close()释放资源,不然下次连接会耗时很久,当资源耗尽会连接不上。遇到 133 257 等协议栈报的错误close 重连即可。
8.数传部分,发送数据时 api 如果返回false 代表数据没有进入底层的缓存,需要重发. 如果要达到最高的速度需要每包数据的字节数为(MTU-3),这里可以用一个二级缓存来处理,使用生产者-消费者设计模式,使数传速度达到最大.
9.之前OTA升级速度慢,且不稳定,容易重传。发送数据后使线程wait(1000) 并在收到响应后notify 替换掉之前的sleep。
SPP 部分
1. SPP 部分的搜索使用的是老的API ,bluetoothAdapter.startDiscovery()。通过这个搜索到的设备既有BLE又有经典蓝牙,
需要加一个设备类型过滤,只拿 经典蓝牙或者双模蓝牙
2. SPP 连接前一定要执行一次停止搜索,无论有没有执行过开始搜索。可以在连接的地方加一个重连机制,增加连接的成功率
3. SPP 断开连接后acl disconnect 这个广播耗时很不稳定,这里需要特殊处理,不能通过这个来判断连接是否断开
4. SPP 的连接耗时取决于acl链路建立时间。
android 的蓝牙问题还是挺多的,尤其是BLE 的兼容性。下一份源码 根据日志去底层找找。看看蓝牙模块那边的日志,nordic 会在连接成功后定时执行5次请求MTU的操作,这时候如果在发送数据会出问题。不同的芯片厂家可能会有不同的操作。
一个android 蓝牙apk 了解以下?
York......
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/不正经/article/detail/192237
推荐阅读
article
android
qq
协议
分析
工具,QQ
协议
分析
...
QQ
协议
说明:
协议
由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成发送者和接收者...
赞
踩
article
for
php
pocketmine
_
PocketMine
-MP
for
Android
...
PocketMine
-MP
for
Android
介绍
PocketMine
-MP
for
Android
PocketM...
赞
踩
article
android
sql
转义
字符
串,SQL
字符
串中的
转义
符号
字符
...
我想在我的
sql
数据库中按名称查询某个行,并且它有一个&符。我试图设置一个
转义
字符
,然后
转义
符号,但由于某种原因,这是行...
赞
踩
article
Android
sqlite
表名
中各种
特殊符号
处理
。
_
sqlite
表名
带括号...
当
Android
本地表中,因为需求,需要创建表的
表名
中,有
特殊符号
,例如“&”,“-”, “+”,“%”,空格等等
。
如果...
赞
踩
article
and
r
oid:
r
.
st
r
ing
.xx 转为
字符
型,R语言学习7.1----
st
r
ing
r
处理
字符
串...
st
r
ing
r
是生信技能树生信爆款入门课程R语言部分Day7的讲到的一个重要知识点。为加深理解,现在找个数据做下练习巩固...
赞
踩
article
android
解析
转义字符
,
Android
常见
XML
转义字符
(总结)...
Android
常见
XML
转义字符
(总结)在安卓开发中我们经常会遇到一些特殊字符,这些特殊字符在程序中无法直接写,那么如何...
赞
踩
article
Android
Studio
实现一个点
餐
系统
_
android
studio
做点单...
Android
Studio
实现一个点
餐
系统
写在前面之前做的期末作业,现在发到博客上,作业要求如下:手机点
餐
系统
功能:1...
赞
踩
article
android
空格
的
转义字符
,
Android
常用
转义字符
...
写过html代码的朋友们应该知道,html支持
转义字符
,可以通过
转义字符
实现显示
空格
、缩进、换行等内容。在
Android
...
赞
踩
article
android
字符
转义
,
android
string
.
xml
添加
特殊字符
常用字符
转义
...
项目中要在
string
.
xml
中显示特殊符号,如@号冒号等,直接写肯定不行啦。。只能考虑使用ASCII码进行显示:@号...
赞
踩
article
android
问号
转义
字符串
,2019-04-22 使用
字符串
生成
正则表达式
注意
问号
的双重
转义
,然...
定义一个从
字符串
生成
正则表达式
的函数:function getRegex(str) {return new RegExp...
赞
踩
article
android
sqlite
转义
字符串
,如何
转义
特殊字符
如在
sqlite
中
android
...
满意答案select* fromtablewhere number like '%/%%' escape '/'...s...
赞
踩
article
android
号的
转义
字符
串,
Android
常用
转义
字符
...
1.
转义
字符
的显示形式
Android
的
转义
字符
通过unicode编码来表示。常用的显示形式有Hex形式和HTML形式。...
赞
踩
article
Android
特殊字符
转义...
单引号 ' '双引号 " "大于号 > >小于号 < &a...
赞
踩
article
Android
string
中特殊字符、
转义
字符
_
android
字符串
中单引号
转义
...
在
Android
中,用户往往会把所有的
字符串
保存在
string
.xml中,目的是方便统一管理,并且利于国际化,但是在这些...
赞
踩
article
Android
string
.xml如何输入
空格
、换行等
符
号——
转义字
符
_
android
strin...
在
Android
中,用户往往会把所有的字
符
串保存在
string
.xml中,目的是方便统一管理,并且利于国际化,但是在这些...
赞
踩
article
【
Android
】
android
strings
.xml
转义字符
_the
value
of attr...
这些特殊字符使用的时候很纠结。
android
:
text
设置这个属性时会报错" (" 或 &q...
赞
踩
article
android
studio
中要在
app
名称
中添加&
特殊符号
_
android
app
名字能用&吗...
之前在给客户定制
app
中,客户定制好的
app
名称
为xxxx & xxxx,使用到了特殊号 & 直接在string.xml...
赞
踩
article
android
studio
中能用
的
各种
转义字符
...
test
...
赞
踩
article
Android 显示输入法中的
emoj
i
表情
以及
String
字符串
转码_android studio...
Android 显示输入法中的
emoj
i
表情
以及
String
字符串
转码实现用原生键盘输入
表情
并显示,有两种办法:发送时将...
赞
踩
article
Android
Studio中src/main/res/values中
strings
.
xml
文件
中字...
strings
.
xml
文件
中的内容在活动中获得
字符串
的方式:str = getResources().getString...
赞
踩
相关标签
android qq协议分析工具
for php pocketmine
android sql 转义字符串
android:r.string.xx 转为字符型
android 解析转义字符
点餐系统
Android
手机点餐系统
android 空格的转义字符
android字符转义
android 问号转义字符串
android sqlite 转义字符串
android 号的转义字符串
移动开发
android
android studio
app
json
编码
utf-8
unicode
Android strings.xml文件的用处