Android蓝牙开发(二)之蓝牙配对和蓝牙连接
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。既有适合小白学习的零基
同样的,如果我们想要配对的设备取消配对
只需要将creatBond改为removeBond
2.蓝牙连接:
配对成功之后,就可以进行蓝牙连接了,蓝牙连接操作比较耗时,可以在一个线程中进行:
调用自己定义的
connect(listdevice.get(position));
同样传递的参数也是设备device
首先声明蓝牙套接字:
private BluetoothSocket mBluetoothSocket;
mBluetoothSocket = bluetoothDevice.createRfcommSocketToServiceRecord(BltContant.SPP_UUID);
BltContant.SPP_UUID是一个UUID常量,至于UUID是什么,大家可以自行百度,因为详细的文章已经很多了。
连接的时候要先判断蓝牙是否在扫描,如果在扫描就停止扫描,并且没有连接才进行连接,代码如下:
if (bluetoothadapter.isDiscovering()) {
bluetoothadapter.cancelDiscovery();
}
if (!mBluetoothSocket.isConnected()) {
mBluetoothSocket.connect();
}
比如我们让其连接成功后,跳转到消息通讯界面,界面中有edittext输入框并显示当前连接的设备名称如图所示:
在这里我们需要注意的是,当连接成功时,我们要让被连接的那部手机也自动跳转到聊天页面,所以我们要开启蓝牙服务端等待设备的连接,当设备连接时,自动跳转页面,蓝牙服务端代码如下:
/**
- 开启服务端
*/
public void startBluService() {
while (true) {
try {
if (getBluetoothServerSocket() == null){
Log.e(“在这里获取的为空”,“在这里获取的为空”);
}
bluetoothSocket = getBluetoothServerSocket().accept();
if (bluetoothSocket != null) {
APP.bluetoothSocket = bluetoothSocket;
EventBus.getDefault().post(new BluRxBean(SERVER_ACCEPT, bluetoothSocket.getRemoteDevice()));
//如果你的蓝牙设备只是一对一的连接,则执行以下代码
getBluetoothServerSocket().close();
//如果你的蓝牙设备是一对多的,则应该调用break;跳出循环
//break;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
服务端运行也在一个线程中,一直处于等待状态直到有设备连接进来。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
都将为你打开新的学习之门**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)