2016-03-08 45 views
0

一直试图找出这一点,似乎无法找到任何线索如何使其发生。Android - 用附件提示打开电子邮件意向

我试图发送电子邮件意图发送电子邮件,但它也自动打开附件提示,以便用户可以选择图像附加到电子邮件。

有谁知道一种方法来做到这一点?

目前我使用的是发送电子邮件,如下所示的标准方式:

 Intent emailIntent = new Intent(Intent.ACTION_SEND); 
     emailIntent.setType("message/rfc822"); 
     emailIntent.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"}); 
     emailIntent.putExtra(Intent.EXTRA_SUBJECT, "test"); 

     try { 
      startActivity(emailIntent); 
     } catch (android.content.ActivityNotFoundException ex) { 
      Toast.makeText(MainActivity.this, "No e-mail client found!", Toast.LENGTH_SHORT).show(); 
     } 
    } 

得到任何帮助。

编辑:

如果这是不可能的,那么有一种方法以流由摄像机(倍数)拍摄的图像,并将其添加作为附件的意图是什么?似乎无法找到一种方式来处理多张图片,只有一张图片,这就是我在应用程序设置之前如何设置应用程序设置,然后再通过电子邮件发送多个图片。

编辑2:

用这种方法把多张照片进入onActivityResult从相机的意图之后。

if (resultCode == Activity.RESULT_OK) { 

      uriList.add(Uri.fromFile(photoFile)); 

      try { 

       Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
       photoFile = CreateImageFile(); 
       takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile)); 
       resultCode = 9999; 
       startActivityForResult(takePictureIntent, CAMERA_REQUEST); 

      } catch (Exception e) { 
      }   
    } 
+0

这不会是可能通过的任何文档和支持手段。根本不需要第三方电子邮件应用程序来支持附件。 – CommonsWare

+0

感谢您的迅速回复。我编辑了我原来的问题,因为这似乎不可能。 – THEOS

+0

使用'ACTION_IMAGE_CAPTURE' N次拍摄N张照片,然后尝试'ACTION_SEND_MULTIPLE'来附加它们。但我不确定有多少电子邮件应用程序会支持'ACTION_SEND_MULTIPLE'。 – CommonsWare

回答

0
String Message="<b>Name :</b> "+ed_name.getText().toString()+"<br><br>"+ 
       "<b>Email : </b>"+ed_email.getText().toString()+"<br><br>"+ 
       "<b>Mobile Number : </b>"+ed_mobile.getText().toString()+"<br><br>"+ 
       "<b>City : </b>"+ed_city.getText().toString()+"<br><br>"+ 
       "<b>Subject : </b>"+ed_subject.getText().toString()+"<br><br>"+ 
       "<b>Inquiry : </b>"+ed_msg.getText().toString()+"<br><br>"; 

      Spanned FinalMessage=Html.fromHtml(Message); 


      Intent emailIntent = new Intent(Intent.ACTION_SEND); 
      emailIntent.setType("message/rfc822"); 
      emailIntent.putExtra(Intent.EXTRA_EMAIL,new String[]{"[email protected]"}); 
      emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Inquiry By : "+ed_name.getText().toString()); 
      emailIntent.putExtra(Intent.EXTRA_TEXT,FinalMessage); 
      //emailIntent.putExtra(Intent.EXTRA_BCC, new String[] {GlobleVaribles.EmailBCC }); 
      //emailIntent.putExtra(Intent.EXTRA_CC, new String[] {GlobleVaribles.EmailCC }); 
      startActivity(Intent.createChooser(emailIntent, "Pick an Email provider")); 
相关问题