Android:正确处理蓝牙接收的文件

标签 android bluetooth mime

我有一个处理特定类型文件的 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 类型并且正在放弃,而不是广播一个请求基于文件名的匹配的 Intent 。

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

最佳答案

调查表明,如果蓝牙堆栈未从发送方接收到 MIME 类型,则会使用 android.webkit.MimeTypeMap 类确定 MIME 类型。此类具有扩展名和 MIME 类型的硬编码表。这意味着如果不向 Google 发送补丁并等待下一个版本,就不可能注册额外的扩展。

关于Android:正确处理蓝牙接收的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3609888/

相关文章:

安卓工作室 : Discovered Bluetooth device name not found and struggling to pair to device

android - 蓝牙 LE GATT 问题

android - 如何在我的内容观察器中获取插入行的 URI?

android - Material Design 布局动画

android - 拖放 ConcurentModificationException

主题或消息中带有特殊字符的电子邮件的 PHP Mail header

python - 如何将 HTML 代码集成到 Python 脚本中?

android - 如何在MPandroidchart库中使用图标作为饼图的标签

windows - 如何使用 Windows Phone 7 连接蓝牙打印机?

mime-types - Markdown 的 MIME 类型是什么?