最近,项目用到蓝牙通讯的技术。经过一番查阅资料和学习。在此做一下记录并分享一下,也方便以后查看!其实网上的资料都比较全面了,也有不少的博客写的也很好。我也不在这里,多啰嗦了。只把一些容易犯错的地方,说一下。

简述一下蓝牙的发展史: 蓝牙发展至今经历了8个版本的更新。1.1、1.2、2.0、2.1、3.0、4.0、4.1、4.2。那么在1.x~3.0之间的我们称之为传统蓝牙,4.x开始的蓝牙我们称之为低功耗蓝牙也就是蓝牙ble,当然4.x版本的蓝牙也是向下兼容的。android手机必须系统版本4.3及以上才支持BLE API。不过在大于等于4.3 和 小于5.0 之间的android手机系统版本,只支持作为中心设备角色。在 5.0 以及 5.0 之后的,是既可以作为中心设备,也可以作为外围设备啦!

传统蓝牙 就是手机上用的那种,它有两个角色一个是客户端一个是服务器(前提是android手机系统版本小于4.3之前的),那有人说,手机到底是客户端,还是服务器端呢?答案就是,它既可以做客户端也可以做服务器端。所以手机既可以作为客户端去搜索服务器端(其他手机),也可以作为服务器端被其他其他客户端(手机端)搜索到。

  • 当客户端搜索到蓝牙服务器后并与之配对后,才能通过UUID(这个是唯一的,服务器端必须与客户端一致)建立socket,然后使用流像文件读写和网络通信那样传输数据就行了。

低功能耗蓝牙也就是BLE, 它的角色变成了一个是中心设备(central)一个是外围设备(peripheral),中心设备就是你的手机,外围设备就是智能手环一类的东西。大于等于4.3 和 小于5.0 之间的android手机系统版本,只能作为中心设备去搜索一些其他外围设备,不能做为外围设备被其他中心设备搜索到;在 5.0以及5.0 之后,既可以作为中心设备,也可以作为外围设备。

  • 由于其具有最大化的待机时间、快速连接和低峰值的发送和接收特性,被广泛用于智能手表、智能手环等可穿戴设备上。在安卓4.3之前,安卓平台上的BLE开发相当难搞,好在谷歌在4.3之后发布了官方的API。在安卓5.0之后又引入了新的API,而新的api没有向下兼容,所以采用5.0新API开发的APP只能在LOLLIPOP即安卓5.0及其以后的版本使用。不过,在新的系统里采用旧API开发的APP仍可使用。

本篇博客就先讲传统蓝牙,也就是 4.0 之前的版本。 BLE 版本,将在下一篇博客中讲解。

先看一下效果图:

总结:具体用法,和方法说明,都在源码的做了注释。感兴趣的话,下载一下源码看一看。


关于自动配对的知识:

以后做补充。

源码地址

说明:效果图为源码中的app工程。app2工程,相比于app工程比较好理解一些。选择设备时,我这里是以小米手机的为例的。要根据具体情况修改一下代码。


相关博客:

google官网文档,比较具有参考价值

google 蓝牙聊天Daemon android-BluetoothChat

Android 蓝牙开发之搜索、配对、连接、通信大全

鸿洋微信推荐地址(Android蓝牙自动配对攻略)

Android 蓝牙技术 带你实现终端间数据传输

更多相关文章

  1. 安兔兔发布 2020 年 5 月 Android(安卓)中端手机性能榜,联发科天
  2. Android蓝牙开发中电话音频(HSP,HFP)和媒体音频(A2DP,AVRCP)到底是个什
  3. 四通道手机和Android的信用卡替代
  4. 如何用手机访问电脑本地 localhost 网页或者服务器, 以调试web项
  5. android P版本 系统稳定性问题案例分析(二)
  6. 将你的老旧Android平板或手机改造成服务器
  7. android 字体样式
  8. 【Android】蓝牙开发——经典蓝牙:配对与解除配对 & 实现配对或连
  9. Android(安卓)开发神器系列(工具篇)之 Android(安卓)WiFi ADB

随机推荐

  1. 想抢先体验Android操作系统的魅力吗?那就
  2. 【Android(安卓)设计】:样式_ 触感 | 度量
  3. android开发 - 圆角和边框
  4. 屏蔽电信流氓广告造成的诡异的问题--Andr
  5. 基于android的智能家居之一MJPGstream
  6. 当遇到百度和谷歌都不知道的技术问题时改
  7. Android(安卓)M 新的运行时权限开发者需
  8. android 中处理崩溃异常并重启程序
  9. 获取Android设备硬件信息
  10. Android(安卓)JNI 技术简介