如何确保电子邮件应用程序将使用我的应用程序打开文件?(How do I ensure that th

2019-09-20 04:24发布

I'm currently building an app that allows you to load files from emails and export created ones using email. The extension is .lq. I am currently using this intent filter however I repeatedly get the error 'This attachment cannot be displayed' in the standard email app when attempting to open something with the extension .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>

I've tried a number of different solutions however none of them have worked.

Answer 1:

您可以使用意图拦截应用程序来分析您的邮件应用发送的意图和知道你需要什么意图过滤器来创建。

从Gmail应用程序,我得到以下意图:

行动:android.intent.action.VIEW

数据:内容://gmail-ls/myemail@gmail.com/messages/471/attachements/0.1/BEST/false

URI:内容://gmail-ls/myemail@gmail.com/messages/471/attachements/0.1/BEST/false

类型:image / PNG

所以,问题是,你的.lq不是标准的扩展,你可以不依赖于文件名或者与.lq结束,因为它使用的内部名称不带扩展名。

你可以使用一个意图过滤器捕捉的内容:// *的URI。



Answer 2:

我也有这个问题。 尝试完全删除mimetype属性。



文章来源: How do I ensure that the email app will use my app to open a file?