安卓开发蓝牙通信

Android蓝牙开发(二)经典蓝牙消息传输实现

上篇文章中,我们主要介绍了蓝牙模块,传统/经典蓝牙模块BT和低功耗蓝牙BLE及其相关的API,不熟悉的可以查看 Android蓝牙开发(一)蓝牙模块及核心API 进行了解

本篇主要记录用到的经典蓝牙开发流程及连接通讯

蓝牙连接前,给与相关系统权限:

安卓6.0以上系统要动态请求及获取开启GPS内容:

蓝牙核心对象获取,若获取对象为null则说明设备不支持蓝牙:

判断蓝牙是否开启,没有则开启:

蓝牙扫描:

取消扫描:

蓝牙监听广播,监听蓝牙开关,发现设备,扫描结束等状态,定义状态回调接口,进行对应操作,例如:监听到蓝牙开启后,进行设备扫描;发现设备后进行连接等

客户端,与服务端建立长连接,进行通讯:

服务端监听客户端发起的连接,进行接收及通讯:

客户端连接及服务端监听基类,用于客户端和服务端之前Socket消息通讯,进行消息或文件的发送接收,进行通讯关闭操作等:

我这里只是简单记录了项目中用到的蓝牙通讯,两个设备之间不通过配对进行连接通讯
相关详细内容及使用请查看Github项目: https://github.com/MickJson/BluetoothCS

蓝牙配对操作及其它内容,可以详细查看我下面的参考资料,写的十分详细,比如设备通过MAC地址,可以通过BluetoothAdapter获取设备,再通过客户端connect方法去进行连接等

连接中遇到问题:read failed, socket might closed or timeout, read ret: -1

通过改UUID,反射等方法都还是会出现错误连接时,要确保服务端及客户端都处于完全断开状态,否则连接就会出现以上问题,但偶尔还是会有问题,期待有什么好的方法可留言告诉我

参考资料:

Android-经典蓝牙(BT)-建立长连接传输短消息和文件

Android蓝牙开发经典蓝牙详细开发流程

欢迎点赞/评论,你们的赞同和鼓励是我写作的最大动力!

安卓开发蓝牙怎么和其他设备连接如何在两个蓝牙设备间正确传输数据:
蓝牙下载或传输数据,需要进行以下几个必要的步骤:一两个设备是否都具有蓝牙功能(如果是电脑还需要正确安装蓝牙驱动,还得在设备与打印机中正确添加蓝牙设备);
二设备是否打开蓝牙功能(不打开的话设备不能被找到),笔记本蓝牙开关用组合键(一般是Fn+F5),手机一般在设置--无线和网络中找;
三要成功连接两个设备(一般要用到PIN码和配对码PIN码一般是00001111或1234,配对码是当下设置并使用的,两个设备要求配对必须一致);
四传送距离一般不得超过10米,否则传送会中断;
五传送成功会有成功提示,只需在接收方找到文件即可打开(一般在文件管理--本地--内部存储--bluetooth文件夹中);
六选中要传输的文件,在菜单中选分享,再选择蓝牙,然后按提示操作,如操作正确会有传输成功完成的提示

(随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)
来源:本文由易搜IT博客原创撰写,欢迎分享本文,转载请保留出处和链接!