Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法将文件附加到操作\u发送意图_Android_Email_Android Intent_Attachment - Fatal编程技术网

Android 无法将文件附加到操作\u发送意图

Android 无法将文件附加到操作\u发送意图,android,email,android-intent,attachment,Android,Email,Android Intent,Attachment,我试图将一个文本文件附加到一封电子邮件中,我遇到了一个奇怪的错误,希望有人能帮我解决。当用户从选择器中选择gmail应用程序时,它可以正常工作,但是如果用户选择内置的邮件应用程序,他们会看到一个祝酒词,上面写着“无法附加文件” 代码如下所示: public static void sendMail(Context context, String emailBody, String emailSubject, String emailAddress, String attachmentFilena

我试图将一个文本文件附加到一封电子邮件中,我遇到了一个奇怪的错误,希望有人能帮我解决。当用户从选择器中选择gmail应用程序时,它可以正常工作,但是如果用户选择内置的邮件应用程序,他们会看到一个祝酒词,上面写着“无法附加文件”

代码如下所示:

public static void sendMail(Context context, String emailBody, String emailSubject, String emailAddress, String attachmentFilename){
    Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
    emailIntent.setType("plain/text");

    emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { emailAddress});
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, emailSubject);
    emailIntent.putExtra(Intent.EXTRA_TEXT, emailBody);

    if(attachmentFilename != null) {
        //Add the attachment by specifying a reference to our custom ContentProvider and the specific file of interest
        emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("content://" + Settings.VYPR_LOG_PROVIDER_AUTHORITY + "/" + attachmentFilename));
    }
    context.startActivity(emailIntent);
}
有人对这里可能发生的事情有什么想法吗?我在这里看到的大部分内容都与SD卡上的附件有关。事实上,我并不是自己写这段代码的,但这似乎不是问题所在,因为如果用户选择gmail应用程序而不是内置应用程序,它确实会起作用


提前谢谢

我很久以前也遇到过同样的问题。必须强制使用Gmail应用程序发送附件。我不明白为什么内置的电子邮件应用程序不能工作

如果您试图接收到特定电子邮件地址的附件,您也可以考虑部署Web服务来上传附件。p>
希望有帮助。

我很久以前也遇到过同样的问题。必须强制使用Gmail应用程序发送附件。我不明白为什么内置的电子邮件应用程序不能工作

如果您试图接收到特定电子邮件地址的附件,您也可以考虑部署Web服务来上传附件。p>
希望有帮助。

这似乎与ContentProvider方法与许多ACTION\u SEND处理程序不兼容有关。如果你想使用它,你最好的办法可能是强制使用gmail应用程序。否则,您需要将文件保存到外部存储器。这似乎与ContentProvider方法不兼容许多ACTION\u SEND处理程序有关。如果你想使用它,你最好的办法可能是强制使用gmail应用程序。否则,您需要将文件保存到外部存储器