android – 使用Asset文件夹中的附件发送电子邮件
作者:互联网
//EMAIL SENDING CODE FROM ASSET FOLDER
email = editTextEmail.getText().toString();
subject = editTextSubject.getText().toString();
message = editTextMessage.getText().toString();
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("file/html");
emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("content://com.example.deepa.xmlparsing/file:///android_assets/Combination-1.html"));
startActivity(Intent.createChooser(emailIntent, "Send email using"));
最后,我从资产文件夹(Combination-1.html)获取文件.
它越来越好了
Runtime error file not found exception.
有没有其他方式发送文件附件?
解决方法:
创建资产文件夹文件的File对象,并将此对象附加到您的电子邮件Intent.
并且如您的问题运行时错误文件中未提及异常所述,这可能是因为URL“file:/// android_asset /”未指向特定目录,它仅由WebView用于寻址资产.拉了那个from
您可以将其作为输入流打开并将此InputStream转换为File
in = new BufferedReader(new InputStreamReader(activity.getAssets().open(myfile.pdf)));
在电子邮件中发送此文件对象如下.
Intent intent = new Intent(Intent.ACTION_SEND ,Uri.parse("mailto:"));
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "Card Set ");
intent.putExtra(Intent.EXTRA_TEXT, "");
intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(file));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
activity.startActivity(intent);
Intent.ACTION_SEND用于通过电子邮件发送电子邮件附件的Intent.EXTRA_STREAM.您可以使用intent.setAction(Intent.ACTION_SEND_MULTIPLE);来引用多个Intent.EXTRA_STREAMin单一意图来引用多个附件.
intent.setType(String mimeType)输入参数表示您希望从触发意图(此处为intent实例)获得的MIME类型数据.where setype可以是
image/jpeg
audio/mpeg4-generic
text/html
audio/mpeg
audio/aac
audio/wav
audio/ogg
audio/midi
audio/x-ms-wma
video/mp4
video/x-msvideo
video/x-ms-wmv
image/png
image/jpeg
image/gif
.xml ->text/xml
.txt -> text/plain
.cfg -> text/plain
.csv -> text/plain
.conf -> text/plain
.rc -> text/plain
.htm -> text/html
.html -> text/html
.pdf -> application/pdf
.apk -> application/vnd.android.package-archive
标签:email-attachments,android,email 来源: https://codeday.me/bug/20190930/1836939.html