Bastaix
Bastaix

Reputation: 845

attach picture to email

Anyone knows how to attach images with

Intent intent = new Intent(Intent.ACTION_SENDTO); 

I know how to do it with Intent.ACTION_SEND, but i would like to use SENDTO to remove the Bluetooth option for the user.

What i have works fine when not attaching the picture but when i use

intent.setData(pictureUri);

It tells me that there isn't any application to do the job.

Thank you for your help.

EDIT

Inserted the code that I have now. It "works fine" except that the image isn't getting attached.

Code

intent = new Intent(Intent.ACTION_SENDTO);
intent.setType("text/html");
Uri uri = Uri.parse("mailto:?");
intent.setData(uri);
intent.putExtra(Intent.EXTRA_STREAM, picture);
intent.putExtra("subject", subject );
context.startActivity(Intent.createChooser(intent, "Share Via:"));

The picture is a Uri for a picture on the phone.

Anyone knows what can be the problem?

Upvotes: 1

Views: 1819

Answers (2)

PaulH
PaulH

Reputation: 263

Try:

i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(pic));

Upvotes: 2

onitake
onitake

Reputation: 1409

According to the API docs, SENDTO expects a recipient in the data field, not an attachment. By saying intent.setData(pictureUri), you're basically trying to send a message to the picture. See here.

SEND accepts attachments via extras, so you could try the same for SENDTO.

For example:

intent.putExtra(Intent.EXTRA_STREAM, pictureUri);

Upvotes: 1

Related Questions