我目前正在构建一个应用程序,允许您从电子邮件加载文件并使用电子邮件导出创建的文件。扩展名是.lq。我目前正在使用此 Intent 过滤器,但是当尝试打开扩展名为 .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>
我尝试了多种不同的解决方案,但没有一个有效。
最佳答案
您可以使用Intent Intercept应用程序来分析邮件应用程序发送的 Intent 并了解您需要创建什么 Intent 过滤器。
从 gmail 应用程序中,我得到以下 Intent :
Action : android.intent.action.VIEW
Data : content://gmail-ls/[email protected]/messages/471/attachements/0.1/BEST/false
URI : content://gmail-ls/[email protected]/messages/471/attachements/0.1/BEST/false
Type : image/png
所以问题是您的 .lq 不是标准扩展名,并且您也不能依赖文件名以 .lq 结尾,因为它使用没有扩展名的内部名称。
您可以使用 Intent 过滤器来捕获 content://* URI。
关于android - 如何确保电子邮件应用程序将使用我的应用程序打开文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11647423/