【问题标题】:Android: Handling files received by Bluetooth correctlyAndroid:正确处理蓝牙接收的文件
【发布时间】:2011-04-06 07:27:17
【问题描述】:

我有一个处理特定类型文件的 Android 应用程序。它为 MIME 类型和文件名模式注册意图过滤器。这一切都可以在文件管理器中正常工作;我选择了一个文件,系统提示我适用于该文件的操作列表,我的应用程序在列表中,我选择它并且它可以工作。

但是,当我通过蓝牙将文件发送到设备时,这不起作用。文件被接收并正确下载,但从传输页面选择文件没有任何作用(尽管我仍然可以使用文件管理器在 /sdcard/downloads/bluetooth 中找到下载的文件并从那里运行它)。日志包含:

V/BluetoothOppUtility(  565): Get data from db:/mnt/sdcard/downloads/bluetooth/foo.appnull00:11:22:33:44:55
E/BluetoothOppUtility(  565): ERROR: Para fileName ==null, or mimetype == null

(这里的文件名是foo.app。)

看起来它决定文件没有 MIME 类型并且正在放弃,而不是广播请求基于文件名的匹配的意图。

这是在 HTC Desire 上的 Froyo 上,我知道 HTC 一直在修补蓝牙堆栈(因为现有的 Android 不允许将任意文件发送到设备)。有谁知道我怎样才能做到这一点?传送 .jpg 和 .png 文件可以正常工作...

【问题讨论】:

    标签: android bluetooth mime


    【解决方案1】:

    调查显示,如果蓝牙堆栈没有从发送方接收到 MIME 类型,则会使用 android.webkit.MimeTypeMap 类确定 MIME 类型。这个类有一个硬编码的扩展和 MIME 类型表。这意味着如果不向 Google 发送补丁并等待下一个版本,就无法注册其他扩展。

    【讨论】:

      猜你喜欢
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      • 2011-05-16
      相关资源
      最近更新 更多