Android отправляет электронное письмо с текстом и изображениями

#android #image #email #attachment

#Android #изображение #Адрес электронной почты #вложение

Вопрос:

Я хочу, чтобы пользователь мог отправлять электронное письмо из моего приложения для Android, поэтому у меня есть

     Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, emailaddress);
    emailIntent.setType("plain/text");
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,message);
    startActivity(emailIntent);
  

но я не знаю, что мне нужно делать, если я хочу, чтобы к этому электронному письму также были прикреплены 2 изображения в формате png.

Спасибо,

Ответ №1:

Попробуйте это. Но для меня это работает только на реальном устройстве.

     Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, emailaddress);
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
    emailIntent.setType("image/png");

    ArrayList<Uri> uris = new ArrayList<Uri>();

    uris.add(Uri.parse("android.resource://"   getPackageName()   "/"   R.drawable.file1));
    uris.add(Uri.parse("android.resource://"   getPackageName()   "/"   R.drawable.file2));

    emailIntent.putExtra(Intent.EXTRA_STREAM, uris));

    startActivity(emailIntent);
  

Комментарии:

1. В коде две ошибки. Для нескольких вложений Intent.ACTION_SEND_MULTIPLE следует использовать. В строке 12 есть дополнительная закрывающая скобка, должно быть .putExtra(намерение. EXTRA_STREAM, uri);

Ответ №2:

Попробуйте это:

 Intent iShare;
iShare = new Intent(Intent.ACTION_SEND);
iShare.setType("image/png");

//below you trying to send the images path it always doens have to be a
//image in the drawable u can get the captured image or in the gallery :)
iShare.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" fn.getPath()));
i.putExtra(Intent.EXTRA_TEXT, "Username: "   usernames   "nClinic Number: "   clnumber   "nClinic Name: "   clname   "nBranch: "   spnnr);
startActivity(Intent.createChooser(iShare, "Share"));

try {
    startActivity(Intent.createChooser(ishare, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(secondpage.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}