Android Bluetooth OPP的理解与使用之八
问题点21: Android Bluetooth的OPPC主动发送完成后,自行断开的flow;
OPP 传送,一般是OPPC 发送文件前主动连接,文件发送完成后,主动断开;
基于Android BT的实际测试Log,发送完成时的明显log是:
“receive MSG_SHARE_COMPLETE for info”,Code位置在类BluetoothOppTransfer的
“case BluetoothOppObexSession.MSG_SHARE_COMPLETE:”中;
-->在类BluetoothOppObexClientSession的内部线程的中执行disconnect;
当前线程一直存在于整个发送过程中,此线程的进入和退出对应的log如下:
“acquire partial WakeLock”和“release partial WakeLock”
-->执行类BluetoothOppObexClientSession中的disconnect方法,里面将执行socket等close动作;
对应log “OBEX session disconnected”,
Note:“mCs.disconnect(null);”中将执行
“sendRequest(ObexHelper.OBEX_OPCODE_DISCONNECT”
至此,关于Android Bluetooth OPP的常用操作以及Source Code逻辑的运行flow描述基本完结。理清Android OPP 中的整运行flow,就可以自行移植,笔者就移植了其实现,移植后OPP的操作与Android 原生BT OPP 无异;
Android Bluetooth OPP的理解与使用之八相关推荐
- Android Bluetooth OPP
本篇博客,分析Android Bluetooth的Object Push Profile,分别是架构.代码流程,日志打印,HCI帧. 1. 蓝牙OPP架构 本章根据BLUETOOTH CORE SPE ...
- android 蓝牙 bluetooth OPP文件传输
蓝牙文件分享的流程,也就是蓝牙应用opp目录下的代码,作为蓝牙最基本的一个功能,这部分的代码在之前的版本中就已经有了,新旧版本代码对比很多类名都是一样的,这一部分新东西不多,写在这里帮助大家梳理下流程 ...
- Android Bluetooth 文件接收路径修改方法
修改文件: packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppReceiveFileInfo.java 相关代码片段: ...
- Android 蓝牙 OPP文件传输-Obex协议连接-socket连接 从framework到协议栈btif层 --- 全网最详细(一)
同学,别退出呀,我可是全网最牛逼的 Android 蓝牙分析博主,我写了上百篇蓝牙文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦. 一.概述 今 ...
- android ble peripheral,Android - BlueTooth BLE 之 Central 与 Peripheral 理解
一.前言 Andorid 5.0 之前是无法进行 外围设备开发的,在Android 5.0 API 21 android.bluetooth.le包下,新增加 Scaner相关类和 Advertise ...
- Android Bluetooth模块学习笔记
一.蓝牙基础知识 1.蓝牙( Bluetooth )是一种无线技术标准,可实现固定设备.移动设备和楼宇个人域网之间的短距离数据交换.蓝牙基于设备低成本的收发器芯片,传输距离近.低功耗. 2.微波频段: ...
- Android Bluetooth BLE相关开发资源汇总
Android开启蓝牙开关 转载自Android:Bluetooth 的打开和关闭 检查系统蓝牙是否开启 BluetoothManager bluetoothManager = (BluetoothM ...
- 【转】Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析
原文网址:http://blog.csdn.net/xubin341719/article/details/38584469 关键词:蓝牙blueZ A2DP.SINK.sink_connect.s ...
- Android Bluetooth HID实现详解
Android Bluetooth HID实现详解 Android 关于蓝牙的部分使用的是BlueZ协议栈.但是直到目前2.3.3都没有扩展HID的profile,只是实现了最基本的Handset和d ...
最新文章
- SpringMVC小结
- mysql不支持union_Mysql中Union的子句不支持order by
- 编写下载服务器。 第二部分:标头:Last-Modified,ETag和If-None-Match
- Struts2国际化
- localStorage、sessionStorage本地存取Object 对象 - 代码篇
- nacos dataid修改配置文件_nacos 配置中心自动化运维之namespace坑
- Scala中的None,Nothing,Null,Nil
- [科研论文]基于W7100的以太网读卡器的设计与实现
- 如何用jQuery获得radio的值
- Ubuntu Amarok乱码解决方案
- 获取当前电脑全部网络连接名字
- ajax只能局部刷新吗,ajax有哪几种方法可以实现局部刷新
- 对高级程序设计语言的基本理解
- 华数机器人旋转编程_华数机器人离线编程软件简介与InteRobot2018 新增功能
- 获取支付宝小程序链接
- windows 无法对计算机进行启动到,windows无法启动无法启动怎么办,windows无法启动的9种解决方法...
- 常见的几种web api 接口加密签名模式
- 高效工程师系列(一) 如何找到一个利于自己成长的环境
- dede标签帮助手册参考
- 四选一单选按钮html实现