2012-06-11 3 views
0

У меня есть следующая проблема:Android отправить по электронной почте без связи

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

File file = context.getDir("Files", context.MODE_WORLD_WRITEABLE); 
    File image = new File(file, "image.jpg"); 

    Uri U = Uri.fromFile(image); 
    Intent i = new Intent(Intent.ACTION_SEND); 
    i.setType("image/jpg"); 
    i.putExtra(Intent.EXTRA_STREAM, U); 
    context.startActivity(Intent.createChooser(i, "Email:")); 

электронной почты отправляется, но нет никакой привязанности.

Кто-нибудь есть идеи, почему электронное письмо отправляется без вложения?

EDIT

Я нашел ответ на мой вопрос. Поскольку изображение хранилось во внутреннем хранилище, у него не было достаточно прав, поэтому он не мог быть отправлен по электронной почте. Я переместил свой имидж в externalStorage и теперь он работает :)

Спасибо, Ark

ответ

1
String smsBody = "Body of the Content"; 
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
emailIntent.setType("image/*"); 
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] { "" }); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Subject of the Mail"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, smsBody); 
emailIntent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile("mnt/sdCard/SampleImageFloder/TestImage.png")); 
emailIntent.setType("vnd.android.cursor.dir/email"); 
activity.startActivity(Intent.createChooser(emailIntent,"Email:")); 
+0

Я пробовал оба ответа, и никто не работал для меня. Я вижу файл, прикрепленный к электронной почте, прежде чем отправить его, но он никогда не попадает в мой почтовый ящик с вложением внутри – Arkde

1

Попробуйте один -

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE); 
emailIntent.setType("plain/text"); 
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[]{"email"}); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "subject"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,"Test"); 
//has to be an ArrayList 
ArrayList<Uri> uris = new ArrayList<Uri>(); 
//convert from paths to Android friendly Parcelable Uri's 
for (String file : filePaths) 
{ 
    File fileIn = new File(file); 
    Uri u = Uri.fromFile(fileIn); 
    uris.add(u); 
} 
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); 
context.startActivity(emailIntent); 

Просто увидеть мои Existing Answer также

+0

У меня есть попробовал оба ответа, и никто не работал для меня. Я вижу файл, прикрепленный к электронной почте, прежде чем отправить его, но он никогда не попадает в мой почтовый ящик с вложением внутри. – Arkde

Смежные вопросы