2

我们正在编写一个应用程序,其中数字笔与 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为宏达电。

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

4

0 回答 0