您的位置:首页 > 大数据 > 人工智能

Trying to attach a file from SD Card to email

2010-12-17 00:12 302 查看
 i am trying to launch an Intent to send an email. All of that works, but when I try to actually send the email a couple 'weird' things happen.here is code 
Intent sendIntent = new Intent(Intent.ACTION_SEND);
                sendIntent.setType("image/jpeg");
                sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Photo");
                sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://sdcard/dcim/Camera/filename.jpg"));
                sendIntent.putExtra(Intent.EXTRA_TEXT, "Enjoy the photo");
                startActivity(Intent.createChooser(sendIntent, "Email:"));
So if I launch using the Gmail menu context It shows the attachment, lets me type who the email is to, 
and edit the body & subject. No big deal. I hit send, and it sends. The only thing is the attachment 
does NOT get sent.
So. I figured, why not try it w/ the Email menu context (for my backup email account on my phone).
It shows the attachment, but no text at all in the body or subject. When I send it, the attachment 
sends correctly. That would lead me to believe something is quite wrong. Do I need a new permission
in the Manifest launch an intent to send email w/ attachment? What am I doing wrong?
 
 
Also getting the same problem
Code:
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);    emailIntent.setType("jpeg/image");    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]    {"me@gmail.com"});    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,    "Test Subject");    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,    "go on read the emails");    Log.v(getClass().getSimpleName(), "sPhotoUri=" + Uri.parse("file:/"+ sPhotoFileName));    emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/"+ sPhotoFileName));    startActivity(Intent.createChooser(emailIntent, "Send mail..."));
[/code]
[/code]
[/code]
[/code]
Looks like the email provider is attaching a 0 length file. When I check the filesystem the file is there and correct. The code which creates the image file is well finished prior to the attempt to email it.
Anyone fixed this without magic reboots (I've already tried that)?
Regards,
Fin
Update!
Path for me should have been
file:///sdcard/DumbDumpers/DumbDumper.jpg
you need the extra / for the root
so it's like
file:// + /sdcard/DumbDumpers/DumbDumper.jpg
combined is
file:///sdcard/DumbDumpers/DumbDumper.jpg
So in my example you need:
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+ sPhotoFileName));
hope this helps. Took me ages to debug.
Regards,
Finlay
[/code]
[/code]
 

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息