猿问

如何在Android中发送带有文件附件的电子邮件

我想在邮件中附加.vcf文件并通过邮件发送。但是邮件是在没有附件的地址上收到的。我已经使用了下面的代码,但是代码并不知道我错了。


try {      

  String filelocation="/mnt/sdcard/contacts_sid.vcf";      

  Intent intent = new Intent(Intent.ACTION_SENDTO);    

  intent.setType("text/plain");      

  intent.putExtra(Intent.EXTRA_SUBJECT, "");      

  intent.putExtra(Intent.EXTRA_STREAM, Uri.parse( "file://"+filelocation));      

  intent.putExtra(Intent.EXTRA_TEXT, message);         

  intent.setData(Uri.parse("mailto:"));         

  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 


  activity.startActivity(intent);

  activity.finish();

  } catch(Exception e)  {

     System.out.println("is exception raises during sending mail"+e);

}


哔哔one
浏览 714回答 3
3回答

慕森王

Folder_name是手机内部存储器中文件的名称。(实际上是EXTERNAL_STORAGE)。file_name是您要发送的文件的名称。private void ShareViaEmail(String folder_name, String file_name) {    try {        File root= Environment.getExternalStorageDirectory();        String filelocation= root.getAbsolutePath() + folder_name + "/" + file_name;        Intent intent = new Intent(Intent.ACTION_SENDTO);        intent.setType("text/plain");        String message="File to be shared is " + file_name + ".";        intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");        intent.putExtra(Intent.EXTRA_STREAM, Uri.parse( "file://"+filelocation));        intent.putExtra(Intent.EXTRA_TEXT, message);        intent.setData(Uri.parse("mailto:xyz@gmail.com"));        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        startActivity(intent);    } catch(Exception e)  {        System.out.println("is exception raises during sending mail"+e);    }}

12345678_0001

使用以下代码在电子邮件中发送文件。String filename="contacts_sid.vcf"; File filelocation = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), filename);Uri path = Uri.fromFile(filelocation); Intent emailIntent = new Intent(Intent.ACTION_SEND);// set the type to 'email'emailIntent .setType("vnd.android.cursor.dir/email");String to[] = {"asd@gmail.com"};emailIntent .putExtra(Intent.EXTRA_EMAIL, to);// the attachmentemailIntent .putExtra(Intent.EXTRA_STREAM, path);// the mail subjectemailIntent .putExtra(Intent.EXTRA_SUBJECT, "Subject");startActivity(Intent.createChooser(emailIntent , "Send email..."));
随时随地看视频慕课网APP

相关分类

Android
我要回答