Как отправить электронное письмо с приложением (изображение) - PullRequest
0 голосов
/ 25 марта 2012

Я попробовал два способа send email с вложенным изображением. Вложение отображается во время написания темы, все, что происходит, после того, как электронная почта на приемнике показывает только 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);
    }

1 Ответ

4 голосов
/ 25 марта 2012

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

/** 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;
      }
    });
...