【问题标题】:OBEX OPP Specific transferOBEX OPP 特定转账
【发布时间】:2011-09-05 09:13:02
【问题描述】:

我正在android中开发一个OBEX OPP客户端应用程序 电话。通过客户端应用程序 我将向非 Android 设备发送一个对象(它将充当 OPP 服务器)。我已经使用 API 创建了 RFCOMM 套接字连接

createRfcommSocketToServiceRecord(OPP_UUID);我已经使用了 UUID OBEX Push 即

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

我观察到通过这个socket连接是成功的 我得到了要发送的套接字的输入和输出流 接收数据。但是当我发送数据时,数据收到了另一个 设备格式不正确。我的意思是在 接收器设备接收到的数据有错误。 BT 空气嗅探器 表示retrieved_opcode中的数据不存在。OBEX 响应代码是错误请求。

谁能指导我这有什么问题?或制作步骤 OBEX OPP 与未配对设备的连接。

您的宝贵意见将帮助我克服这个问题。

谢谢, 谢卡尔

【问题讨论】:

    标签: android bluetooth


    【解决方案1】:

    您应该可以配对设备,您也可以通过设备上的蓝牙设置进行配对,但您无法与它连接并像SPP通信那样直接发送数据。

    OBEX是一个协议,有自己的头、包等。

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

    您可以通过以下几种方式通过 obex 将文件发送到配对设备:

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

    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)

    【讨论】:

      猜你喜欢
      • 2021-10-03
      • 2013-07-15
      • 2011-07-31
      • 2021-10-03
      • 2019-07-03
      • 1970-01-01
      • 2018-01-28
      • 2019-01-07
      • 2018-08-06
      相关资源
      最近更新 更多