问题标签 [obex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
35638 浏览

android - 使用蓝牙 OBEX 对象推送配置文件 (OPP) 发送文件

有没有办法使用 OBEX 使用 android 蓝牙 API 发送文件?

我需要将文件发送到仅支持 OBEX OPP 的打印机。

我可以使用 android 意图 ACTION_SEND 将文件发送到打印机没有问题,但我需要以编程方式发送它..

我可以使用 OBEX OPP UUID (1105) 和方法 createRfcommSocketToServiceRecord() 连接到蓝牙打印机,但是我应该遵循 obex 规范使用 OBEX 发送文件。它不像将字节写入输出套接字那么简单。 .

但是如果意图 ACTION_SEND 可以处理这个问题,为什么没有任何 api 供开发人员发送文件?

我还检查了一些第三方库,如 BlueCove,但我仍然没有让它工作..(Nexus One 和 Galaxy Tab 抛出一个异常,说本机库 bluecove_armv71 不可用.. LG Optimus One 说 bluecove_armv61 不可用'不可用..)

我被卡住了,有什么想法吗?

工作解决方案

对于任何试图将文件发送到蓝牙设备但运气不佳的人,我提供了一个使用内容提供程序的工作解决方案(感谢 KPBird):

这里获取 java 类BluetoothShare

然后,以下代码将 SD 卡上的文件发送到蓝牙设备:

更新

有些人在使用上述解决方案时遇到问题,已在以下设备上进行了测试:

适用于:

  • LG 擎天柱一号 (Android 2.1)
  • HTC Desire (Android 2.2)
  • 谷歌 Nexus One(Android 2.2 和 2.3)
  • 三星 Galaxy S2 (Android 4.0.3)
  • HTC 惊奇 (Android 2.3.4)

有以下问题:

  • LG P500 (安卓 2.3.3)
  • 银河 TAB P500 (Android 2.2)
  • 谷歌 Nexus S (Android 4.1.2)

如果您能够在上面未列出的设备上测试此代码段,请在下面的评论中提供您测试它的设备的详细信息(品牌、名称、Android 版本等)以及测试结果,我将更新包括您的数据在内的问题。

0 投票
0 回答
430 浏览

android - 文件下载时安卓蓝牙提示不一致

我们正在编写一个应用程序,其中数字笔与 Android 设备配对,然后笔将文件上传到 Android 设备。我们在不同设备之间存在不一致的行为,并希望有一个一致的解决方案。理想情况下,我们会拦截传入的文件并管理应用程序中的二进制数据。

  • 在 Galaxy S (2.2) 和 Galaxy Tablet (2.2) 上,当通过蓝牙接收文件时,它会提示用户接受文件,但在那个阶段它包含一个复选框,以便从那时起自动接受文件。
  • 在 HTC Desire (2.2) 上,当从数字笔发送文件时会提示用户,但每次发送文件时用户必须手动接受文件。如果用户不及时接受,则文件丢失。

我们想要的是一致的行为,用户不需要手动接受每个文件。

我们也尝试了几种解决方案,例如

  • 监听传入的文件蓝牙连接,
  • 实施我们自己的BroadcastReceiver
  • 并尝试让 Android 设备充当蓝牙服务器,然后手动拦截文件。(类似于BluetoothChat示例应用程序)

...但没有任何运气。我们能够从蓝牙 Intent 触发 Activity,但似乎 OBEX 文件传输发生在 Android 设备工作中的较低级别并且无法被拦截。

我们还存在标准蓝牙/OBEX 实现写入不同位置的问题,具体取决于供应商

  • /mnt/sdcard/bluetooth三星
  • /mnt/sdcard/Downloads/bluetooth为宏达电。

...但这是一个较小的问题,可以通过首选项进行管理。

0 投票
2 回答
2720 浏览

android - 为什么Android在通过蓝牙OPP接收时对可接受的文件类型进行如此严格的限制?

问候堆栈溢出。

最近在追踪Android框架中的蓝牙运行机制。我注意到这个补丁在通过 OPP 接收文件时会产生一些文件类型限制。

在 packagecom.android.bluetooth.opp中,Constants.java 中有一个固定的白名单

这限制了 BluetoothOppObexServerSession.java 中可接受的文件类型

在这种情况下,是什么让我们担心 MIME 类型?据我所知,我们可能希望阻止可执行文件(即 *.apk、*.so),因为这些文件可能会损害我们的设备。如果阻止某些特定类型是我们在这里设置列表的原因,为什么我们会在此补丁之前使用白名单而不是黑名单?当我们通过其他非蓝牙协议(例如 HTTP)传输文件时,是否有类似的限制?

0 投票
1 回答
2288 浏览

android - 有关在 Android 应用程序中实现 OBEX 的任何示例?

我需要实现一个允许通过蓝牙进行文件传输和浏览远程设备文件系统的 Android 应用程序。我想我必须实现 OBEX 和 OPP,但我还没有在网上找到这么多资源。谁能帮我找到有用的材料?提前致谢

0 投票
2 回答
10065 浏览

android - Android:如何通过蓝牙浏览远程设备文件系统?

我需要构建一个 Android 应用程序,通过蓝牙从远程设备放置/获取文件;该应用程序还必须浏览远程文件系统。我读过一些关于 OBEX 的文章,但实际上没有找到任何适用于 Android 的示例,除了市场上一些出色的应用程序,如蓝牙文件传输。它如何在应用程序中实现?

0 投票
2 回答
1572 浏览

java - 在 Java/Android 中通过 BT 获取远程设备文件列表

我正在尝试使用 OBEX 获取远程设备文件夹列表;我正在尝试使用

但是当我打电话时我得到 Not supported yet 错误

谁能帮我?

0 投票
2 回答
129 浏览

android - 如何从 Android 应用程序调用外部程序?

我找到了: http: //gitorious.org/android-obex/pages/Home

我想从我的 Android 应用程序中调用它,有人知道该怎么做吗?

0 投票
1 回答
2116 浏览

java - Android 2.X 上的蓝牙 OBEX FTP 服务器

我正在使用 Bluecove 库在 android 2.X 上开发 Obex ftp 客户端/服务器。到目前为止,我设法作为客户端从 android 连接到 pc。我尝试了服务器的 bluecove 示例代码,但不起作用。是否可以在 android 2.X 上开发服务器。有没有人有代码来做。谢谢你。

0 投票
1 回答
448 浏览

windows-mobile - 如何通过 OBEX 将图像直接接收到 .NET CF 应用程序中

我正在尝试使用 iPaq 214 上的 InTheHand.Net 库来启动 BluetoothListener 或 ObexListener 并将手机中的文件(照片)直接接收到我的应用程序中,但监听器根本没有接收到文件。它被默认的 Pocket Outlook“未知文件”对话框覆盖,该对话框提供将传入的文件保存到某个目录。

有什么方法可以禁用此对话框(或 Pocket Outlook BT 服务 = obexinbx.dll)处理传入文件并使用 InTheHand.Net 库在我自己的代码中处理文件?

0 投票
1 回答
559 浏览

ftp - 如何在 OBEX 中使用 FTP 通过蓝牙 java 代码删除文件并将其复制到目标设备?

我需要通过蓝牙在目标设备中用旧版本的文件替换文件。我知道为此需要使用 OBEX(FTP 和 OPP)配置文件。但我不知道如何删除旧版本并在目标目录(java代码)中复制新版本的文件。

你能帮我吗?