休言女子非英物,夜夜龙泉壁上鸣。这篇文章主要讲述Android 蓝牙通信——AndroidBluetoothManager相关的知识,希望能为你提供帮助。
转载请说明出处!
作者:
kqw攻城狮
出处:
个人站 | CSDN
文章图片
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
效果图
文章图片
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 STUDIO环境下使用Espresso 测试框架进行UI测试
- Android应用优化小手册
- Android之修改用户头像并上传服务器(实现手机拍照和SD卡选择上传)
- Android文件操作报open failed: EBUSY (Device or resource busy)
- Android 解决手机unauthorized错误
- Android开发必备(命名规范)
- android调试工具adb命令大全
- Android(组件大全)
- Android学习笔记---自定义TextView实现阴影效果