Android使用蓝牙实现聊天功能

本文介绍了如何在Android平台上利用蓝牙实现聊天功能,包括注册蓝牙适配器、搜索设备、配对、连接通信等关键步骤,并提供了部分源码和参考资料。通过蓝牙UUID建立唯一标识,确保连接成功。
摘要由CSDN通过智能技术生成

概览

使用安卓的蓝牙模块,双机连接进行APP通信
1、 注册适配器打开蓝牙
2、注册广播监听蓝牙状态
3、搜索附近设备和已配对设备
4、选择未配对设备进行配对
5、选择已配对设备进行连接通信

效果演示

在这里插入图片描述
BluetoothAdapter:蓝牙适配器,对蓝牙的操作都需要用到它。通过getDefaultAdapter():获得系统默认的蓝牙适配器,也可以自己指定
startDiscovery():一个异步方法,搜索蓝牙设备并产生广播,此时系统可能会发送以下三个广播:

  • ACTION_DISCOVERY_START(开始搜索)
  • ACTION_DISCOVERY_FINISHED(搜索结束)
  • ACTION_FOUND(找到设备)

ACTION_FOUND(找到设备)这个Intent中包含两个extrafields:EXTRA_DEVICEEXTRA_CLASS,包含的分别是BluetoothDevice和BluetoothClass,BluetoothDevice中的EXTRA_DEVICE就是我们搜索到的设备对象。 确认搜索到设备后,我们可以从得到的BluetoothDevice对象中获得设备的名称和地址。

UUID全局唯一标识:UUID是根据一定算法,计算得到的一长串数字,这个数字的产生使用了多种元素,所以使得这串数字不会重复,每次生成都会产生不一样的序列,所以可以用来作为唯一标识。
创建服务器端和客户端时都需要用UUID来创建 连接通讯时只有一样的才可以成功连接上

蓝牙通信流程

服务器端
1、拿到本地蓝牙设备。
2、蓝牙之间的通讯需要一个唯一识别UUID来匹配正确的设备,使用UUID获取蓝牙的通讯Socket。
3、开启获取数据的线程

客户端
1、检查是否开启蓝牙。
2、注册一系列蓝牙的广播。
3、由于蓝牙每经过一个阶段都会发送一个广播,根据广播来实现对应的方法。
4、蓝牙配对->蓝牙连接->发送消息(UUID必须相同)

通用socket连接流程
在这里插入图片描述

完整源码

码云仓库:微信蓝牙版

致谢

第9章实验Android近距离通信:第9章实验
android蓝牙连接通信的实现:CSDN 水很清
蓝牙(简单的通信连接):CSDN 林丶

开发流程和部分代码展示

1.打开并注册蓝牙

AndroidManifest.xml

    <uses-permission android:name="android.permission.BLUETOOTH" />//一些配置连接蓝牙的权限 
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />//进行操作的权限
    <!-- 6.0以上需要的权限 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

打开蓝牙
方式一:调用enable 函数
方式二:调用系统API

获取本机蓝牙信息

bluetoothAdapter.getAddress(); //获取本机蓝牙MAC地址  
blue
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值