一、android设备蓝牙通信介绍
1.1配对
两个蓝牙设备在建立通信连接之前需要先彼此感知到对方的存在,这一过程就是配对。使用android蓝牙api进行配对分为以下几步:
1、设备A与B均开始蓝牙模块;
2、设备A声明自己可以被发现,默认保持该状态为120秒,也可以自定义一个值;
3、设备B扫描周围是否有可被发现的蓝牙设备;
4、当搜索到设备A后,向设备A发起配对请求;
5、设备A响应设备B的配对请求,响应信息包含设备名,类,唯一的MAC地址。
通常设备在进行过一次配对以后,会记住配对信息,以备以后连接通信时使用。使用已知的远程设备的MAC地址,连接可以在任何时候初始化而不必先完成搜索(当然这是假设远程设备是在可连接的空间范围内)。配对意思是两个设备相互意识到对方的存在,共享一个用来鉴别身份的链路键(link-key),能够与对方建立一个加密的连接。
1.2通信
在配对成功以后,两个设备就可以通过已经获取的配对信息来建立连接,连接建立以后,两个设备就可以共享一个RFCOMM信道,相互传输数据。目前android蓝牙api要求设备在建立RFCOMM信道前必须配对(配对是在使用Bluetooth API初始化一个加密连接时自动完成的)。
如果要连接两个设备,其中一个必须充当服务器,通过持有一个打开的BluetoothServerSocket对象。服务器socket的作用是侦听进来的连接,如果一个连接被接受,提供一个连接好的BluetoothSocket对象。从BluetoothServerSocket获取到BluetoothSocket对象之后,BluetoothServerSocket就可

android蓝牙文件传输的实现相关推荐

  1. android+蓝牙+文件传输,蓝牙文件传输Android

    我在通过蓝牙套接字发送大文件时遇到问题.较小的文件正确传输.我相信正确传输高达161280字节. 编辑:我做了一些测试并缩小了原因.看起来 outStream.write(mybytearray, 0 ...

  2. 蓝牙文件传输服务linux,openwrt蓝牙文件传输

    openwrt支持: USB Supprot------------------------------- kmod-usb-ohci kmod-usb-uhci kmod-usb-storage-e ...

  3. bluez5.50蓝牙文件传输

    蓝牙文件传输主要用到 bluez 下 obex 协议支持,需要在启动 bluetoothd 蓝牙守护进程后再启动 obexd 文件传输服务进程,关于蓝牙协议栈可以参考以下图片: bluez 5.50 ...

  4. Mac系统遇到蓝牙文件传输失败不支持要怎么办

    Mac系统遇到蓝牙文件传输失败不支持的项该怎么办?苹果设备在使用蓝牙传输文件时候,总是失败,该怎么解决这个问题呢?在使用Mac的蓝牙传文件,有些文件无法传输,它提示:文件传输失败不支持的项目或操作,那 ...

  5. 蓝牙文件传输失败不支持的解决方法!

    用苹果的朋友你有没有遇到过这种情况呢:在使用蓝牙传输文件时候,显示失败!那么如何解决呢?来和我一起看看吧! 在使用Mac的蓝牙传文件,有些文件无法传输,它提示:文件传输失败不支持的项目或操作,那么该怎 ...

  6. android蓝牙传文件开发,Android Bluetooth文件传输

    [实例简介] Android Bluetooth文件的引入和传输,可使用两台设备,一个做客户端一个做服务端,传输文件,显示传送进度. [实例截图] [核心代码] Bluetooth └── Bluet ...

  7. Android蓝牙语音传输,数据传输

    需求:开发一个app将手机麦克风的语音数据实时发送给蓝牙音箱设备(耳机也可以),实现扩音的目的.也有单独数据传输的部分. 在网上找了很多,没有找到一个合适的demo,弄了几天终于弄出来了!下面把这个过 ...

  8. Android--经典蓝牙(文件传输--socket通信)

    标准蓝牙 UUID 0000xxxx-0000-1000-8000-00805F9B34FB 其中 xxxx 代表自定义部分 例如:蓝牙串口服务1101 -- SerialPortServiceCla ...

  9. 蓝牙文件传输+obex+xp

    最近研究了蓝牙协议,终于完成了XP测试版的文件传输功能. 看来不多写码,手都生疏了很多. 继续努力. 关于程序和代码可以从CSDN中下载.

最新文章

  1. python close函数_Matplotlib的close()函数使Tkinter GUI窗口关闭
  2. vivado中设置多线程编译
  3. c++ float 转string
  4. 2d绘制 c# dx_C# DX 编程
  5. Oracle创建序列的sql语句,【Oracle学习】之 序列(Sequence)
  6. MVC强类型和弱类型的区别
  7. 写出下列的中文意思 HTML,计算机网络技术考试试题纸B卷
  8. java dto entity,entity与DTO完全一致时
  9. Sphinx编译docs文档
  10. linux rz批量上传
  11. uint8 转换为 float
  12. Golang简单日志类
  13. off cpu linux,宋宝华: 用off-cpu火焰图进行Linux性能分析
  14. 解读《美国国家BIM标准》– BIM能力成熟度模型(六)
  15. 【JAVA】五子棋2.0
  16. Typescript的应用与思考
  17. ESL4.5 学习笔记(含感知器内容SVM预备知识)
  18. Stone Ocean(https://acs.jxnu.edu.cn/problem/GYM103495E)
  19. GZOI2019GXOI2019 滚粗记
  20. excel导出java.lang.ArrayIndexOutOfBoundsException:-32768

热门文章

  1. css将文字放在一条横线中间
  2. C# 基于内容电影推荐项目(一)
  3. shell脚本写出一个简单的猜价格游戏
  4. 计算机桌面水平移动的小软件,一键整理电脑桌面!这款仅有5M的小软件,太高效了...
  5. 如何通过邮箱发送链接进行邮箱验证
  6. 华为交换机ip地址与MAC地址绑定(全局/接口模式)
  7. Word文档损坏,轻松帮你修复.
  8. 物体跟着鼠标移动旋转
  9. 【Proteus仿真】【51单片机】自动浇花灌溉系统设计
  10. 如何关闭iOS7中的iPhone广告跟踪系统