4

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

这是我的意图过滤器:

<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>

我能做些什么来确保所有安卓手机在安装了我的应用程序后都能打开我的自定义文件扩展名?

谢谢

4

2 回答 2

5

I guess it depends on the path the files are located at on your other devices. I found that the pathPattern attribute in the intent filter is very sensitive to the full path of the file.

Take a look at the following answer for a similar question: https://stackoverflow.com/a/7102838/624109

Basically, you need to have several pathPattern attributes that will most likely capture the location of your file.

Another thing is that I think that even if you use local files, you still need to have the port attribute.

These two changes are what made it work for me after hours of digging around.

于 2012-05-10T15:29:13.933 回答
0

即使开发人员文档说它会是一样的,我相信它不是:

尝试将所有<data ...> 属性放在同一个元素中,即只有一个<data>。

拥有一个以上的 <data> 仅用于使用其他 URI 或 MIME 类型扩大过滤器...

于 2013-05-09T17:28:16.863 回答