我目前正在构建一个应用程序,允许您从电子邮件加载文件并使用电子邮件导出创建的文件。扩展名为.lq。我目前正在使用此意图过滤器,但是当我尝试打开扩展名为.lq的内容时,我在标准电子邮件应用中反复收到错误“此附件无法显示”:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="file"/>
<data android:mimeType="*"/>
<data android:pathPattern=".*\\.lq"/>
<data android:host="*"/>
</intent-filter>
我尝试了许多不同的解决方案,但是没有一个能够奏效。
答案 0 :(得分:3)
您可以使用Intent Intercept应用程序分析您的邮件应用程序发送的Intent,并了解您需要创建的intent过滤器。
从gmail应用程序中,我得到以下意图:
动作:android.intent.action.VIEW
数据:内容://gmail-ls/myemail@gmail.com/messages/471/attachements/0.1/BEST/false
URI:content://gmail-ls/myemail@gmail.com/messages/471/attachements/0.1/BEST/false
输入:image / png
所以问题是您的.lq不是标准扩展名,并且您不能依赖文件名以.lq结尾,因为它使用没有扩展名的内部名称。
您可以使用意图过滤器来捕获内容:// * URI。
答案 1 :(得分:-1)
我也有这个问题。尝试完全删除mimetype
属性。