【第22期】观点:IT 行业加班,到底有没有价值?

Android 蓝牙通信——AndroidBluetoothManager

原创 2017年03月16日 18:00:29

转载请说明出处!
作者: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);
/**
 * 正在关闭蓝牙的回调
 */
@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
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Android 蓝牙五子棋[可人机对战] —— 蓝牙通信篇

前言我之前做了个人机对战的五子棋, AI算法很垃圾, 然后各种逻辑很糟糕, 已经很久没有维护了, 今天看了篇文章, 是用了蓝牙和Wifi的五子棋对战, 我觉得很有意思, 毕竟自己没做过蓝牙连接这方面的...

android 和 PC端 进行蓝牙通信 demo

前提:       1. 使用真机测试       2. 测试前请蓝牙配对好手机与PC机蓝牙适配器(所以你需要一个蓝牙适配器插入PC USB口)   demo测试效果:  ...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

android 和 PC端 进行蓝牙通信 demo

转http://royal2xiaose.iteye.com/blog/1420138   前提:       1. 使用真机测试       2. 测试前请蓝牙配对好手机与PC机蓝...

Android 蓝牙通信及自定义消息协议的解析和生成

Socket通信几本协议: 首先解释下为什么Socket通信需要一定的协议才能理解消息的内容 1. 安全性, 协议中有判断内容安全的字段(比如报文的长度), 这样可...

基于蓝牙socket开发Android蓝牙通信

[url]http://www.cyqdata.com/android/article-detail-53225#[/url] 如何实现Android蓝牙通信?一般通过使用蓝牙虚拟串口,可以通过配置非常简单地实现,很多外置蓝牙GPS都用这种做法。 然而Android却不支持,因此不得不得使用...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)