Android Bluetooth OPP的理解与使用之八

本文详细介绍了Android Bluetooth OPP(Object Push Profile)在发送文件过程中的工作流程,从主动连接到文件发送完成后的断开步骤。关键点在于发送完成后调用`BluetoothOppObexClientSession`的`disconnect`方法,关闭socket连接。通过理解这一流程,可以成功移植Android原生的BT OPP功能,实现与原生行为一致的OPP操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题点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方法,里面将执行socketclose动作;

对应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 无异;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值