Android 蓝牙通信——AndroidBluetoothManager
2017-08-14 18:05
218 查看
转载请说明出处!
作者:kqw攻城狮
出处:个人站 | CSDN
![](https://jitpack.io/v/kongqw/AndroidBluetoothManager.svg)
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:
Step 2. Add the dependency
AndroidBluetoothManager
![](http://img.blog.csdn.net/20170316180455514?<br/><br/>watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcTQ4Nzg4MDI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
PNG
GIF
作者: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; } };
等待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 发送的消息 */ @Override public void onSend(String message) { // TODO } /** * 蓝牙接收到消息 * * @param message 接收的消息 */ @Override public 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 发送的消息 */ @Override public void onSend(String message) { // TODO } /** * 蓝牙接收到消息 * * @param message 接收的消息 */ @Override public void onRead(String message) { // TODO }
相关文章推荐
- Android应用开发笔记(11):Android上的蓝牙通信功能的开发:BluetoothChat例程分析
- Android 蓝牙通信
- [置顶] Android 蓝牙开发之搜索、配对、连接、通信大全
- android 通过蓝牙和设备通信 收发数据
- STC89C52单片机通过HC-06蓝牙模块与Android手机通信
- android之蓝牙通信(二)(蓝牙连接,数据传递)
- Android上的蓝牙通信功能的开发:BluetoothChat例程分析
- android蓝牙开发---与蓝牙模块进行通信
- Android 蓝牙开发-蓝牙通信
- Android Service和Activity基于串口蓝牙模块的双向通信
- Android系统中蓝牙设备间连接和通信
- android蓝牙开发---与蓝牙模块进行通信
- android蓝牙和网络通信项目总结(一)
- 实现Android和PC之间的蓝牙通信(转载)
- Android 蓝牙通信
- 蓝牙通信、画折线统计图的android应用
- Android 蓝牙通信开发(二) 创建蓝牙连接
- Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信例子_Android支持蓝牙4.0版本_BLE开发
- Android 通信--蓝牙
- Android 蓝牙通信的开发与应用