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]
相关文章推荐
- How to avoid Excel from prompting "The file you are trying to open, , is in a different format than specified by the file extension"? (转)
- android download file and save to sdCard
- unable to open trace file /mnt/sdcard/x.trace: Permission denied
- Unable to chmod sdcard: Read-only file system
- android 导入文件到sdcard报错。。。Failed to push selection: Read-only file system
- Unable to chmod sdcard: Read-only file system
- android copy raw file to sdcard
- Android Debug.startMethodTracing() 报错 Unable to open trace file '/sdcard/*.trace': Permission denied
- Unable to chmod sdcard: Read-only file system
- Unable to chmod sdcard: Read-only file system
- android File 读取存储 saveTo sdcard
- TraceView报错:unable to open trace file /mnt/sdcard/aa.trace: Permission denied
- Download an HTTP file to SDcard with progress notification
- Tiburon 支持 Unicode 的 LoadFromFile, SaveToFile
- ASP.NET makes uploading files from the client to the server a snap(UploadInterface.PostedFile.SaveAs)
- How to export files from rpm file on ubuntu system
- Unable to Drop a Datafile From the Tablespace Using Alter Tablespace Command (Doc ID 1050261.1)
- This application is currently offline. To enable the application, remove the app_offline.htm file from ....解决方法
- fedora/centos下gcc编译出现gcc: error trying to exec ‘cc1plus’: execvp: No such file or directory
- Using CURL to download a remote file from a valid URL in c++