gpt4 book ai didi

android - 如何从电子邮件应用程序中打开我的应用程序的附件? (mime 类型、 Intent 过滤器...)

转载 作者:行者123 更新时间:2023-11-30 04:01:34 26 4
gpt4 key购买 nike

这可能看起来是重复的,但我想我已经尝试了大多数已发布的解决方案,但都没有成功。

我正在编写一个应用程序,该应用程序有时会通过自定义扩展名 (.xyz) 的电子邮件发送文件

然后我需要从电子邮件应用程序打开这些文件,但我无法让它工作。

阅读本网站和其他网站上的大量帖子后,我想出了一个 Intent 过滤器,允许我从文件资源管理器(但不是从电子邮件应用程序)打开这些文件。

<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" android:host="*"
android:pathPattern=".*\\.xyz"/>
</intent-filter>

然后我尝试从网络浏览器打开电子邮件和附件,但没有成功。 (文件已下载,但后来我无法打开它)。我在 LogCat 中遇到了这个错误

    09-14 12:30:50.516: D/DownloadManager(2341): android.content.ActivityNotFoundException:
No Activity found to handle Intent
{ act=android.intent.action.VIEW
dat=file:///mnt/sdcard/download/samplefile.xyz
typ=message/rfc822 flg=0x10000000 }

虽然我觉得文件使用 rfc822 mime 类型很奇怪,但我更改了 intent 过滤器并添加了

android:mimeType="message/rfc822"

到数据部分。

然后我可以打开文件,就在从浏览器下载后,但我不能再从文件资源管理器打开文件(这有点道理)。

即使添加 android:mimeType="/"也有同样的效果。 (从 ASTRO 文件资源管理器中看到的文件的 mime 类型是空的)。

但我真正需要的是从电子邮件应用程序打开文件,而这些方法都没有帮助。打开电子邮件时,我什至无法点击附件。

我可能需要创建一个自定义的 MIME 类型,但我还没有找到如何去做。

那么,问题是,我需要做什么才能使用我的应用程序打开电子邮件附件(从内置电子邮件应用程序)?

  • 创建一个 mime 类型? (如果是,怎么做?)
  • 创建内容提供商?
  • 两者都有? (再次,如何?)

最佳答案

为了以防万一,有人遇到了我遇到的同样问题,我终于能够让它发挥作用。我遇到的问题是,在发送带有附件的电子邮件时,我使用的是 mime 类型“message/rfc822”。将其更改为“image/xyz”就可以了,当然还可以使用 MIME 类型设置为“*/*”的 Intent 过滤器。

发送电子邮件时有一个细微的不同行为,即您会为每个可以发送的应用程序获得一个选择器,不仅是邮件应用程序(彩信、WhatsApp、蓝牙等),但就我而言,这很好。

关于android - 如何从电子邮件应用程序中打开我的应用程序的附件? (mime 类型、 Intent 过滤器...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12423446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com