2012-07-25 29 views
2

我目前正在构建一个应用程序,允许您从电子邮件中加载文件并使用电子邮件导出创建的文件。扩展名是.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

什么类型的文件是**。lq **,它是JSON吗? – 2017-10-23 16:23:16

回答

-1

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

3

您可以使用Intent Intercept应用程序来分析您的邮件应用程序发送的意图,并知道您需要创建什么意图过滤器。

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

操作:android.intent.action.VIEW

数据:内容://gmail-ls/[email protected]/消息/ 471 /附着物/ 0.1/BEST /假

URI:内容://gmail-ls/[email protected]/messages/471/attachements/0.1/BEST/false

类型:image/png

所以问题是你的.lq不是标准扩展名,你也不能依靠文件名以.lq结尾,因为它使用没有扩展名的内部名称。

您可以使用意图过滤器来捕捉内容:// * URIs。

+0

我已经添加了该方案来匹配内容和http URI现在以及删除pathPattern,这不会启动我的应用程序,所以我逐渐到达那里。 – 2012-07-25 10:34:37

+0

这仅适用于Gmail,不适用于其他应用程序(如收件箱) – 2017-10-20 14:24:28

相关问题