2

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

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

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

这里的答案正确地导致我自己的文件从根资源管理器中用我的应用程序打开。但是,Gmail 仍然无法识别它们。

4

1 回答 1

0

我通过另一个用户在另一个问题上找到了解决方案。你需要改变你的意图过滤器来显示这个

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


归功于用户:@richardleggett


此线程的原始答案,请参阅评论: Intent filter to download attachment from gmail apps on Android

于 2013-01-15T15:31:55.697 回答