用于自定义文件类型的Intent过滤器

时间:2012-10-31 10:51:35

标签: android android-intent intentfilter

我已经尝试了很多方法来获取一个意图过滤器来检测我的自定义文件类型,让我用我的程序从gmail打开它,但没有任何作用,至少在Android 4.1(cyanogen mod)上。不幸的是,我目前无法在其他任何方面对其进行测试,但我需要它来处理尽可能多的版本。

这就是我现在所拥有的,取自here,这似乎是关于这个问题的最新答案:

<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=".*\\.myext" />
   <data android:host="*" />
</intent-filter>

我也尝试过其他问题的其他解决方案,但没有一个有效。我可能错过了一些东西,所以如果你认为它们应该有效,请随意再提出相同的解决方案,但请不要将其作为副本关闭。

有没有人对4.1有过这方面的经验?我只关心能够从gmail应用程序打开它。从其他应用程序(包括文件浏览器)打开并不重要。如何实现这一点并使其适用于所有Android版本?

更新2:

添加这个在我的设备上打开gmail中的文件,但是当点击通知栏中的电子邮件时,我会收到提示,询问我是否要使用gmail或我的应用程序打开它。另外,有2.3设备的人告诉我它根本不起作用(gmail中没有保存/查看按钮)。

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="application/*" android:pathPattern=".*\\.myext" android:scheme="content" />
</intent-filter>

更新1:

答案here正确地使我的应用程序从root explorer打开我自己的文件。但是Gmail仍然无法识别它们。

1 个答案:

答案 0 :(得分:0)

我通过另一个用户在另一个问题上找到了解决方案。您需要更改意图过滤器以显示此

如果您只是使用“application / *”,则会遇到从gmail捕获通知的问题。到目前为止,上述解决方案对我来说完美无缺。


积分转到用户:@richardleggett


这个主题的原始答案,请参阅评论: Intent filter to download attachment from gmail apps on Android