Android 蓝牙设备与手机之间的数据传输
来源:互联网 发布:php时间 运算 编辑:程序博客网 时间:2024/04/30 15:53
工作时间不是很长,如以下观点中出现不对的地方欢迎指正
目前在Android领域蓝牙有2.0和4.0,这篇文章只写一下2.0的 以后我会继续补充4.0的
2.0和4.0的区别还是很大的,首先说4.0的耗电量就是很低
当我们准备对接一个设备的时候 首先是需要拿到该设备的UUID 这个uuid非常好拿到,目前Android市场有很多蓝牙读写器(BLE读写器)随便一搜很多的,连接上设备,去拿到他的UUID,准备工作做完之后 就是需要扫描连接
首先是扫描:首先我们需要拿到蓝牙的管理者 BluetoothManager mbluetoothmanager =activity.getSystemServer(Context.BLUETOOTH_SEVRVER);
得到蓝牙的适配器对象 mbluetoothadapter=mbluetoothmanager .getAdapter(); 这是我们需要判断当前手机是否打开蓝牙mbluetoothadapter.isEnable();没有打开的话 我们就打开enable();
接下来开始扫描 mbluetoothadapter.statrtLeScan();这时可以在这个方法里面实现一个回调, LeScanCallBack 目的是拿到蓝牙设备的相关属性,比如name,address(我认为还是这两个是必须拿到的),当拿到设备信息之后,进行判断因为可能周围有很多蓝牙设备,我们只想拿到我们想要的 只需要根据名字进行过滤即可,扫描到我们想要的设备之后,我们就可以关掉扫描,因为蓝牙设备只能拦连接一个,不能多个手机都连接。
当设备的地址拿到之后我们就要进行,手机与蓝牙设备之间的连接了,这时我们有了蓝牙的名字和地址,我们就能连接起来,我们需要开启一个线程,我们需要维护一个手机与设备之间的数据连接正常与交互,我们需要根据地址拿到远程设备BluetoothDevice bd=mbluetoothadapter.getReoteDevice(address);根据这个设备创建一个蓝牙客户端,根据uuid
bd.createRfcommSocketToServiceRecord(UUID);创建一个socket。如果当前设备没有连接就发起连接Method creMethod=BluetoothDevice.class.getMethod("createBond");
creMethod.invoke(bd);(这两句话很重要,起到了配对的作用) mbluetoothadapter.connect();
然后拿到输入输出流 对蓝牙设备进行数据的写入和读取
这就完成了一个简单的蓝牙设备的数据传输
- Android 蓝牙设备与手机之间的数据传输
- android 手机与蓝牙设备的通讯
- 设备与设备之间 的数据传输
- android手机与蓝牙4.0的之间的通讯
- Android Bluetooth蓝牙开发:Bluetooth蓝牙设备之间数据传输(4)
- android 手机与单片机之间的蓝牙通信
- Android蓝牙实现设备间数据传输
- android app与蓝牙设备之间连接与通讯
- android手机蓝牙连接蓝牙设备
- android 蓝牙通讯实现手机蓝牙的开启,并扫描附近可见的蓝牙设备
- iOS 蓝牙设备与手机的距离计算
- android手机与蓝牙模块的通信
- Android与蓝牙Ble之间的通信
- Android手机之间的蓝牙通信的代码和原理
- android-活动之间的数据传输
- 在Android手持设备与穿戴设备之间通过蓝牙传递assert(如图片)
- Android蓝牙搜索三星手机找不到设备
- Android蓝牙开发——查询手机上已配对的蓝牙设备
- git 常用命令总结
- 走10级楼梯题目解法
- mongodb3更新数据java.lang.IllegalArgumentException: Invalid BSON field name _id
- java常用算法之螺旋矩阵
- href="javascript:xxx(this);"和onclick="javascript:xxx(this);"的区别
- Android 蓝牙设备与手机之间的数据传输
- dataTable 批量选中 当前页的所有列表数据
- js变量提升
- 【微信扫码登录】以及【微信扫码支付】解决方案
- 函数理解
- 2016-NJUST-count number
- Spark为什么快?
- 23种设计模式的意图和适用范围
- Maven 安装本地jar