有些Android手机无法打开自定义文件扩展名

时间:2012-05-01 13:59:03

标签: android mime-types email-attachments intentfilter

我有一个应用程序通过电子邮件发送带有自定义文件扩展名的文件,这些文件基本上只是加密的xml文件。我的应用程序有一个打开这些的意图过滤器,它适用于我的特定手机(三星Galazy S Mesmerize),但当我尝试在其他一些手机(Electrify,Thunderbolt等)上打开我的自定义文件扩展名附件时,它说没有任何东西可以打开该文件。 (顺便说一句,正在尝试DO的手机安装了我的应用程序。)

这是我的意图过滤器:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:scheme="file" />
  <data android:mimeType="*/*" />
  <data android:pathPattern=".*\\.tgtp" />   
  <data android:host="*" />
</intent-filter>

我有什么办法可以确保所有Android手机在安装我的应用程序后能够打开我的自定义文件扩展名吗?

由于

2 个答案:

答案 0 :(得分:4)

我想这取决于文件在其他设备上的路径。我发现intent过滤器中的pathPattern属性对文件的完整路径非常敏感。

看一下类似问题的以下答案: https://stackoverflow.com/a/7102838/624109

基本上,您需要拥有多个pathPattern属性才能捕获文件的位置。

另一件事是,我认为即使你使用本地文件,你仍然需要port属性。

这两项变化使得它在经过数小时的挖掘后对我有用。

答案 1 :(得分:0)

尽管开发者文档说它会是相同的,但我认为不是:

尝试将所有&lt; data ...&gt;属性在同一元素中,即只有一个&lt; data&gt;。

有多个&lt; data&gt;仅用其他URI或MIME类型扩展过滤器...