Android 蓝牙通信——AndroidBluetoothManager


转载请说明出处!
作者:kqw攻城狮
出处:个人站 | CSDN


技术分享

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‘ }

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);
/** * 正在关闭蓝牙的回调 */@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; }};

等待client连接

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}

client

初始化

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}

$(function () {
$(‘pre.prettyprint code‘).each(function () {
var lines = $(this).text().split(‘\n‘).length;
var $numbering = $(‘

    ‘).addClass(‘pre-numbering‘).hide();
    $(this).addClass(‘has-numbering‘).parent().append($numbering);
    for (i = 1; i <= lines; i++) {
    $numbering.append($(‘

  • ‘).text(i));
    };
    $numbering.fadeIn(1700);
    });
    });

相关文章