新的Gmail应用版本的android gmail打开应用附件URI问题

我的Manifest中有以下intent过滤器.

此代码曾经在
Android版4.2.2的Nexus 7上运行良好,直到2天前谷歌对其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>

最佳答案 我到处寻找解决方案,不幸的是,对于这个版本的gmail,唯一的区别是mime类型和方案.原因是Gmail Uris现在采用以下格式:

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

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

或者使您的过滤器更通用.您可以将每个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

点赞