学向勤中得,萤窗万卷书。这篇文章主要讲述Android 蓝牙开发的坑相关的知识,希望能为你提供帮助。
read failed return -1
蓝牙连接中最关键的一步connect最容易出问题。这里面有几个坑,
0android studio 模拟器没有蓝牙 因此会报adapter 不存在, 换成实机调试即可
1connect必须放到单独的线程进行
2获取socket的方式有多种,这也是问题的一个原因。可以先根据sdk版本选择insecureRfcomm还是Rfcomm,try connect 如果失败再使用反射机制进行连接。反射机制连接也有带 UUID的和不带UUID的。
我最后的代码里面实现的时候就是不断地try connect。一种方法不行就换下一种。最后使用了不带UUID的反射机制完成了100%连接。
3如果结果不对,连接不上,请调试的时候先检查device socket是否为null
4先在手机上打开蓝牙 手动点设备配对。配对完成后再在app中connect。
【Android 蓝牙开发的坑】5注意使用的变量的生命周期 可能存在bug。
推荐阅读
- 从0系统学Android--3.6 RecyclerView
- springboot 配置案例 applicaction.yml 配置
- zxx.cms.app 开发中的一些git命令
- 解决android手机EditText设置光标颜色,android:textCursorDrawable="@drawable/corner_cursor" 华为手机无效果的问题
- cordova+vue混合式开发App
- Taro聊天室|react+taro仿微信聊天App界面|taro聊天实例
- 在UX设计中利用心理模型
- 言语与行动–微观指南
- 发挥极限– Long Scroll网站概述