我的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>
答案 0 :(得分:2)
我到处寻找解决方案,不幸的是,对于这个版本的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,但我不确定这是否与旧机器人向后兼容。如果您对此有任何结论,请发布!这里的一些回答可能无法判断: