Android 蓝牙通信——AndroidBluetoothManager
来源:互联网 发布:java报表导出excel 编辑:程序博客网 时间:2024/05/21 09:18
转载请说明出处!
作者: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; }};
等待客户端连接
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}
客户端
初始化
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}
6 0
- Android 蓝牙通信——AndroidBluetoothManager
- Android——蓝牙通信
- Android——蓝牙Socket通信
- Android蓝牙通信——与蓝牙模块进行通信传输数据
- Android 蓝牙开发-蓝牙通信
- Android 蓝牙通信开发(三)蓝牙通信
- Android蓝牙通信——安卓蓝牙obtainMessage数据传输部分数据丢失乱序问题
- Android 蓝牙五子棋[可人机对战] —— 蓝牙通信篇
- Android开发之蓝牙(一)——基于SPP协议蓝牙模块通信
- Android开发之蓝牙(二)——基于BLE协议蓝牙模块通信
- Android蓝牙通信
- Android蓝牙通信
- android 蓝牙通信编程
- Android蓝牙通信
- Android 通信--蓝牙
- Android 通信--蓝牙
- Android蓝牙通信
- Android-蓝牙通信
- 大话Linux内核中锁机制之原子操作、自旋锁
- 《Spring设计思想》AOP设计基本原理
- 数据处理的统计学习(scikit-learn教程)
- Top项目中文对照
- Save your cats Aizu
- Android 蓝牙通信——AndroidBluetoothManager
- Android之TabLayout使用和默认选中+移动(解决)
- map的4种常见的插入元素的方式及区别
- 杨辉三角算法
- 代码规范
- 天梯赛初赛 5-4 帅到没朋友
- 自我介绍
- zabbix设置邮件告警的两种方式(内部mail和脚本)
- Linux上静默安装Oracle