Android中洳何实现蓝牙的配对与连接
这段时间在项目中负责做蓝牙的设置模块蓝牙这部分不算简单,自己先是花了一些时间看系统的蓝牙设置代碼感觉有点熟了才开动的,但期间还是踩了不少坑有些问题网上也搜不到,现在做完了有一些心得,记录下来
打开蓝牙有两种方式,发送蓝牙开启请求或代码后台自动打开蓝牙
2.1 发送蓝牙开启请求
先判断BluetoothAdapter是不是为空,为空有可能是系统没有蓝牙模块再判断蓝牙的状态是不是开启的,不是开启的就发送请求
2.2 后台自动打开蓝牙
3. 获取已经绑定(配对)的设备
4. 监听蓝牙设备的变化
绑定比较简单,调用 BluetoothDevice的createBond就一句代码调用后就开始尝试绑定。
BluetoothDevice绑定的方法是开放的取消绑定的方法却是隐藏的,只对系统app开放坑爹,只能用反射来解决了
绑定(配对)和連接是两个不同的过程,绑定是指两个设备发现了对方的存在可以获取到对方的名称、地址等信息,有能力建立起连接;连接是指两个設备共享了一个RFCOMM通道有能力进行数据互传。确认绑定上了之后才能开始连接。可以试试蓝牙音箱的连接过程就是先点击一次,开始配对配对成功后出现在已绑定的列表中,再点击一次就开始连接,连接成功后蓝牙音箱就有声音了
这一步我吃了不少亏,网上搜到嘚都是下面的这种连接方式
这种连接是用蓝牙来进行Socket通信的而我要做的是如何把手机蓝牙如何配对成功上连上蓝牙耳机或蓝牙音箱,这種方式是不行的
折腾了好久,最后找到了下面的连接方法专门针对AUDIO、VIDEO类型的蓝牙设备的连接。
发布了14 篇原创文章 · 获赞 10 · 访问量 8万+