【问题标题】:Intent filter for custom file type自定义文件类型的意图过滤器
【发布时间】:2012-10-31 10:51:34
【问题描述】:

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

这是我现在所拥有的,取自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 正确地导致我自己的文件从根资源管理器中使用我的应用程序打开。但是,Gmail 仍然无法识别它们。

【问题讨论】:

  • 我和你的处境完全一样。我从文件资源管理器中打开它,我可以从 gmail 打开它,但是我也有一个问题,即任何新 gmail 的通知都会触发我的应用程序的意图。非常令人沮丧。有人有解决办法吗?

标签: android android-intent intentfilter


【解决方案1】:

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

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


归功于用户:@richardleggett


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

【讨论】:

    猜你喜欢
    • 2022-12-08
    • 2013-05-04
    • 2021-08-09
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 2015-02-27
    • 2021-02-13
    • 2016-11-11
    相关资源
    最近更新 更多