Android 电子邮件意图-与此操作关联的所有应用都已关闭、阻止或未安装

Android 电子邮件意图-与此操作关联的所有应用都已关闭、阻止或未安装,android,android-intent,Android,Android Intent,我的应用程序正在使用以下意图发送带有附件的电子邮件: Intent emailIntent = new Intent(Intent.ACTION_SEND); Uri emailUri = new FileHelper().getUri(file, context); emailIntent.putExtra(Intent.EXTRA_STREAM, emailUri); emailIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); e

我的应用程序正在使用以下意图发送带有附件的电子邮件:

Intent emailIntent = new Intent(Intent.ACTION_SEND);
Uri emailUri = new FileHelper().getUri(file, context);
emailIntent.putExtra(Intent.EXTRA_STREAM, emailUri);
emailIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
emailIntent.setType("text/html");
// set other stuff like to and from address
context.startActivity(Intent.createChooser(emailIntent, message.chooserMessage));
用户报告说,在执行此操作时,他收到消息“与此操作关联的所有应用都已关闭、阻止或未安装”。我碰巧有同一类型的手机,测试没有问题,所以这是特定于他的设备上的某种配置。他说,他已经安装了三个电子邮件应用程序(默认、GMail和Blue Mail),所有这些应用程序都经过了配置,工作正常


我在网上查遍了所有关于这个错误的信息,没有找到任何适合我的情况。除了告诉他重新设置出厂设置之外,还有人知道应该尝试什么吗?

我建议你在
意图
中输入MIME类型,识别你在
额外流
中输入的
Uri
中的内容类型。是的,是文本/html,请参见问题的编辑@但我可能误解了。这是一封带有附件的电子邮件,所以意图的MIME类型应该与电子邮件正文或附件的内容匹配吗?在本例中,它将是text/html或application/pdf。如果您使用的是
EXTRA\u STREAM
,MIME类型就是流的类型。如果您没有使用
EXTRA_-STREAM
,而是使用
EXTRA_-TEXT
,则MIME类型为文本类型。由于您使用的是
EXTRA\u流
(除此之外,您没有使用
EXTRA\u文本
),因此MIME类型应适用于
EXTRA\u流
中标识的内容。