Android 蓝牙开发的坑

Posted sleep_loke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。

5注意使用的变量的生命周期 可能存在bug。

以上是关于Android 蓝牙开发的坑的主要内容,如果未能解决你的问题,请参考以下文章

Android ble (蓝牙低功耗) 中的坑和技巧

Android 蓝牙开发(三)-蓝牙的详细介绍

android开发SPP经典蓝牙

Android蓝牙开发——实现蓝牙聊天

Android 蓝牙开发(一)

Android 蓝牙开发 -- 低功耗蓝牙开发