Android 蓝牙通信——AndroidBluetoothManager

休言女子非英物,夜夜龙泉壁上鸣。这篇文章主要讲述Android 蓝牙通信——AndroidBluetoothManager相关的知识,希望能为你提供帮助。
转载请说明出处!
作者: kqw攻城狮
出处: 个人站 | CSDN

Android 蓝牙通信——AndroidBluetoothManager

文章图片

To get a Git project into your build:
Step 1. Add the JitPack repository to your build file
【Android 蓝牙通信——AndroidBluetoothManager】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' }

AndroidBluetoothManager
效果图
Android 蓝牙通信——AndroidBluetoothManager

文章图片

PNG
GIF
基础功能 添加权限
< uses-permission android:name= " android.permission.BLUETOOTH" /> < uses-permission android:name= " android.permission.BLUETOOTH_ADMIN" /> < uses-permission android:name= " android.permission.ACCESS_COARSE_LOCATION" /> < uses-permission android:name= " android.permission.ACCESS_FINE_LOCATION" />

初始化
mBluetoothManager = new BluetoothManager();

打开蓝牙
mBluetoothManager.openBluetooth();

关闭蓝牙
mBluetoothManager.closeBluetooth();

添加蓝牙开关状态的监听
mBluetoothManager.setOnBluetoothStateListener(this);

/** * 正在关闭蓝牙的回调 */ @ Override public void onBluetoothStateTurningOff() { // TODO }/** * 蓝牙关闭的回调 */ @ Override public void onBluetoothStateOff() { // TODO }/** * 正在打开蓝牙的回调 */ @ Override public void onBluetoothStateTurningOn() { // TODO }/** * 蓝牙打开的回调 */ @ Override public void onBluetoothStateOn() { // TODO }

移除蓝牙开关状态的监听
mBluetoothManager.removeOnBluetoothStateListener();

设置蓝牙可见
startActivity(mBluetoothManager.getDurationIntent(0));

获取蓝牙名称
mBluetoothManager.getName()

修改蓝牙名称
mBluetoothManager.setName(newName);

扫描附近的蓝牙设备
mBluetoothManager.discovery();

添加扫描蓝牙设备的监听
mBluetoothManager.setOnDiscoveryDeviceListener(this);

/** * 开始扫描附近蓝牙设备的回调 */ @ Override public void onDiscoveryDeviceStarted() { // TODO }/** * 扫描到附近蓝牙设备的回调 * * @ param device 蓝牙设备 */ @ Override public void onDiscoveryDeviceFound(BluetoothDevice device) { // TODO }/** * 扫描附近蓝牙设备完成的回调 */ @ Override public 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 发送的消息 */ @ Override public void onSend(String message) { // TODO }/** * 蓝牙接收到消息 * * @ param message 接收的消息 */ @ Override public 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 发送的消息 */ @ Override public void onSend(String message) { // TODO }/** * 蓝牙接收到消息 * * @ param message 接收的消息 */ @ Override public void onRead(String message) { // TODO }


    推荐阅读