首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OBEX OPP特定传输

OBEX OPP特定传输
EN

Stack Overflow用户
提问于 2011-05-31 18:26:29
回答 1查看 4.1K关注 0票数 2

我正在用android phone.Through开发一个OBEX OPP客户端应用程序,这个客户端应用程序我将发送一个对象到非Android设备(它将充当OPP服务器).I已经使用API创建了RFCOMM套接字连接。

createRfcommSocketToServiceRecord(OPP_UUID);我使用了OBEX推送的UUID,即

私有静态最终UUID .fromString("00001105-0000-1000-8000-00805F9B34FB");= UUID OPP_UUID

我观察到,通过这个套接字连接是成功的,并且我得到了套接字的输入和输出流来发送和接收data.But。当我发送数据时,其他设备收到的数据格式不正确。我这样说的意思是,在接收器设备中,接收数据时会出现错误。BT Air sniffer指示retrieved_opcode数据中的不是present.OBEX响应码是错误请求。

有人能告诉我这里面哪里出了问题吗?或与未配对的设备进行OBEX OPP连接的步骤。

您宝贵的意见将帮助我克服这一点。

谢谢,Shekhar

EN

回答 1

Stack Overflow用户

发布于 2011-05-31 18:49:20

你应该能够配对设备,你也可以从设备的蓝牙设置中进行配对,但你不能连接它并像SPP通信那样直接发送数据。

OBEX是一种协议,具有自己的报头、数据包等。

在Android中,没有一个可以通过OBEX进行通信的API可以通过编程方式使用。(您可以连接到设备,但之后只能读/写字节)。

您可以通过obex将文件发送到配对的设备,方法有两种:

使用ACTION_SEND意图,将弹出一个带有应用程序的菜单,该应用程序可以处理您要发送的文件类型,用户需要从该菜单中选择蓝牙,然后选择设备。

代码语言:javascript
复制
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpeg");
share.putExtra(Intent.EXTRA_STREAM, Uri.parse(SDCardPath + "file.jpg"));
startActivity(Intent.createChooser(share, "Share Image"));

或者你可以使用另一种方法,如果你不想在你的应用程序中有任何对话框,请检查以下问题,它有一个可用的解决方案的更新:

Sending a File using Bluetooth OBEX Object Push Profile (OPP)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6186191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档