博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 蓝牙通信——AndroidBluetoothManager
阅读量:7251 次
发布时间:2019-06-29

本文共 3722 字,大约阅读时间需要 12 分钟。


转载请说明出处!

作者:
出处: |


To get a Git project into your build:

Step 1. Add the JitPack repository to your build file

Add it in your root build.gradle at the end of repositories:

allprojects {    repositories {        ...        maven { url 'https://jitpack.io' }    }}

Step 2. Add the dependency

dependencies {        compile 'com.github.kongqw:AndroidBluetoothManager:1.0.0'}

效果图

这里写图片描述

基础功能

添加权限

初始化

mBluetoothManager = new BluetoothManager();

打开蓝牙

mBluetoothManager.openBluetooth();

关闭蓝牙

mBluetoothManager.closeBluetooth();

添加蓝牙开关状态的监听

mBluetoothManager.setOnBluetoothStateListener(this);
/** * 正在关闭蓝牙的回调 */@Overridepublic void onBluetoothStateTurningOff() {    // TODO}/** * 蓝牙关闭的回调 */@Overridepublic void onBluetoothStateOff() {    // TODO}/** * 正在打开蓝牙的回调 */@Overridepublic void onBluetoothStateTurningOn() {    // TODO}/** * 蓝牙打开的回调 */@Overridepublic void onBluetoothStateOn() {    // TODO}

移除蓝牙开关状态的监听

mBluetoothManager.removeOnBluetoothStateListener();

设置蓝牙可见

startActivity(mBluetoothManager.getDurationIntent(0));

获取蓝牙名称

mBluetoothManager.getName()

修改蓝牙名称

mBluetoothManager.setName(newName);

扫描附近的蓝牙设备

mBluetoothManager.discovery();

添加扫描蓝牙设备的监听

mBluetoothManager.setOnDiscoveryDeviceListener(this);
/** * 开始扫描附近蓝牙设备的回调 */@Overridepublic void onDiscoveryDeviceStarted() {    // TODO}/** * 扫描到附近蓝牙设备的回调 * * @param device 蓝牙设备 */@Overridepublic void onDiscoveryDeviceFound(BluetoothDevice device) {    // TODO}/** * 扫描附近蓝牙设备完成的回调 */@Overridepublic void onDiscoveryDeviceFinished() {    // TODO}

移除扫描蓝牙设备的监听

mBluetoothManager.removeOnDiscoveryDeviceListener();

服务端

初始化

mBluetoothService = new BluetoothService() {    @Override    protected UUID onSecureUuid() {        // TODO 设置自己的UUID        return UUID_SECURE;    }    @Override    protected UUID onInsecureUuid() {        // TODO 设置自己的UUID        return UUID_INSECURE;    }};

等待客户端连接

mBluetoothService.start();

断开连接/释放资源

mBluetoothService.stop();

添加蓝牙连接的监听

mBluetoothService.setOnServiceConnectListener(new OnServiceConnectListener() {    @Override    public void onConnectListening() {        // TODO    }    @Override    public void onConnectSuccess(BluetoothDevice device) {        // TODO    }    @Override    public void onConnectFail(Exception e) {        // TODO    }    @Override    public void onConnectLost(Exception e) {        // TODO    }});

发送消息

mBluetoothService.send(chatText);

添加消息收发的监听

mBluetoothClient.setOnMessageListener(this);
/** * 蓝牙发送了消息 * * @param message 发送的消息 */@Overridepublic void onSend(String message) {    // TODO}/** * 蓝牙接收到消息 * * @param message 接收的消息 */@Overridepublic void onRead(String message) {    // TODO}

客户端

初始化

mBluetoothClient = new BluetoothClient() {    @Override    protected UUID onSecureUuid() {        // TODO 设置自己的UUID        return UUID_SECURE;    }    @Override    protected UUID onInsecureUuid() {        // TODO 设置自己的UUID        return UUID_INSECURE;    }};

蓝牙连接(安全)

mBluetoothClient.connect(mBluetoothDevice, true);

蓝牙连接(不安全)

mBluetoothClient.connect(mBluetoothDevice, false);

断开连接/释放资源

mBluetoothClient.stop();

添加蓝牙连接的监听

mBluetoothClient.setOnClientConnectListener(new OnClientConnectListener() {    @Override    public void onConnecting() {        // TODO    }    @Override    public void onConnectSuccess(BluetoothDevice device) {        // TODO    }    @Override    public void onConnectFail(Exception e) {        // TODO    }    @Override    public void onConnectLost(Exception e) {        // TODO    }});

发送消息

mBluetoothClient.send(chatText);

添加消息收发的监听

mBluetoothClient.setOnMessageListener(this);
/** * 蓝牙发送了消息 * * @param message 发送的消息 */@Overridepublic void onSend(String message) {    // TODO}/** * 蓝牙接收到消息 * * @param message 接收的消息 */@Overridepublic void onRead(String message) {    // TODO}
你可能感兴趣的文章
社交系统ThinkSNS+预售活动结束倒计时
查看>>
克隆虚拟机
查看>>
资讯直播,会是下一个新风口吗
查看>>
企业邮箱自建战略优势大盘点
查看>>
关于EIGRP一些小问题的解答
查看>>
ubuntu linuxqq_v1.0.2_i386.tar.gz 安装方法
查看>>
医疗信息化、医学、医院管理、医疗器械资料下载
查看>>
cmake masql 安装
查看>>
JDK-7u4(rpm)+Tomcat-7.0+JavaCenterHome
查看>>
win10系统的一些经验
查看>>
os和shutil模块
查看>>
C/C++编译过程详解
查看>>
31、路由器搭建帧中继云
查看>>
模板分页封装
查看>>
分布式系统之Quorum (NRW)算法
查看>>
jQuery:理解$(document).ready()的特殊写法
查看>>
使用Jenkins进行持续构建与发布应用到Kubernetes集群中
查看>>
Elasticsearch 分片交互过程分析
查看>>
数据库事务原子性、一致性是怎样实现的?
查看>>
BPMN 2.0规范详解
查看>>