【问题标题】:android gmail opening app attachment URI issue with new Gmail app version新Gmail应用程序版本的android gmail打开应用程序附件URI问题
【发布时间】:2013-03-21 07:57:15
【问题描述】:

我的清单中有以下意图过滤器。 这段代码曾经在装有 Android 4.2.2 的 Nexus 7 上正常工作,直到 2 天前 Google 更新了他们的 Gmail 应用程序。我的应用程序不再显示在可以打开此类附件的建议应用程序列表中。如果我卸载更新,它会恢复... 知道我可以做些什么来让它再次工作吗?

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data
        android:host="*"
        android:mimeType="application/octet-stream"
        android:pathPattern=".*.grb"
        android:scheme="content" />
</intent-filter>

【问题讨论】:

    标签: android gmail attachment intentfilter


    【解决方案1】:

    我到处寻找解决方案,不幸的是,对于这个版本的 gmail,唯一的区别在于 mime 类型和方案。原因是 Gmail Uris 现在是这种格式:

    content://gmail-ls/email@example.com/messages/1162/attachments/0.1/BEST/false
    

    显然这里没有文件名或扩展名,因此您的选项都涉及使过滤器更通用 - 您可以仅删除过滤器的 pathPattern 部分,匹配 host=*、scheme=content、mimeType=application/octet 的所有结果-流

    或者使您的过滤器更加通用。您可以将每个 mimetype 与以下内容匹配:

    <intent-filter>
        actions
        categories
        <data android:mimeType="application/*" />
        <data android:mimeType="audio/*" />
        <data android:mimeType="image/*" />
        <data android:mimeType="message/*" />
        <data android:mimeType="multipart/*" />
        <data android:mimeType="text/*" />
        <data android:mimeType="video/*" />
    </intent-filter>
    

    注意,我发现android:mimeType="*/*" 似乎也适用于 ICS,但我不确定这是否与旧机器人向后兼容。如果您对此有任何结论,请发布!从这里的一些回复来看,它可能不起作用:

    Intent Filter to capture all sharing Intents

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-30
      相关资源
      最近更新 更多