2012-03-25 1 views
0

Я попытался двумя способами: send email с прикрепленным изображением. Вложение отображается на момент написания темы, boby все после того, как электронная почта в приемнике показывает только subject & Body, только без присмотра пользователь получает. Я не понимаю, что с моим кодом ниже, это мой код. пожалуйста, дайте мое предложение, чтобы завершить эту задачу.Как отправить электронное письмо с приложением (изображение)

Тип 1: -

Intent picMessageIntent = new Intent(Intent.ACTION_SEND); 
    picMessageIntent.setType("image/jpeg"); 
    File downloadedPic = new File(Environment.getExternalStorageDirectory(), strFileName + ".jpg");// Art_Nature 
    picMessageIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(downloadedPic));//screenshotUri);//Uri.fromFile(new File("downloadedPic"))); //Uri.fromFile(downloadedPic)); // Uri.fromFile(new File("/path/to/downloadedPic"))); 
     startActivity(Intent.createChooser(picMessageIntent, "Share image using")); 

Тип 2:

ArrayList<Uri> uris = new ArrayList<Uri>(); 
Uri u;   
Intent picMessageIntent = new Intent(Intent.ACTION_SEND); 
picMessageIntent.setType("image/jpeg"); 
File downloadedPic = new File(Environment.getExternalStorageDirectory(), strFileName + ".jpg");// Art_Nature   
if(downloadedPic.exists()) 
    { 
     Uri u1 = Uri.fromFile(downloadedPic); 
     uris.add(u1); 
     picMessageIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); 
     startActivity(picMessageIntent); 
    } 

ответ

4

Вот то, что может помочь вам. Убедитесь, что вы правильно указали путь к файлу изображения. Не забудьте разделитель «/» (попробуйте получить журнал вашего пути). Кроме того, убедитесь, что файл существует.

/** ATTACHING IMAGE TO EMAIL AND SENDING EMAIL */ 
     Button b1 = (Button)findViewById(R.id.finalsectionsubmit); 
     b1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

     Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
//  emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailSignature); 
     emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, toSenders); 
     emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subjectText); 
     emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, messageText+"\n\n"+emailSignature); 

     emailIntent.setType("image/jpeg"); 
     File bitmapFile = new File(Environment.getExternalStorageDirectory()+ 
      "/"+FOLDER_NAME+"/picture.jpg"); 
     myUri = Uri.fromFile(bitmapFile); 
     emailIntent.putExtra(Intent.EXTRA_STREAM, myUri); 


     startActivity(Intent.createChooser(emailIntent, "Send your email in:")); 
     eraseContent(); 
     sentMode = true; 
     } 
    }); 
+0

в этом, что eraseContent() и sentmode – Aerrow

+0

eraseContent() является частным методом и sentMode является флаг. Вам не нужны они, чтобы отправить электронное письмо. Код, вышедший выше, относится к проекту Android. – Radu

+0

ok Спасибо за ваш ответ – Aerrow