From: srowen Date: Thu, 25 Mar 2010 21:36:11 +0000 (+0000) Subject: Set EXTRA_EMAIL in order to make email clients fill in email address X-Git-Url: http://git.rot13.org/?p=zxing.git;a=commitdiff_plain;h=b0d8630b70b7259710fde94e203175006bdd5cc9 Set EXTRA_EMAIL in order to make email clients fill in email address git-svn-id: http://zxing.googlecode.com/svn/trunk@1257 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- diff --git a/android/src/com/google/zxing/client/android/result/EmailAddressResultHandler.java b/android/src/com/google/zxing/client/android/result/EmailAddressResultHandler.java index 55cc9f3d..768f4a4c 100644 --- a/android/src/com/google/zxing/client/android/result/EmailAddressResultHandler.java +++ b/android/src/com/google/zxing/client/android/result/EmailAddressResultHandler.java @@ -52,7 +52,7 @@ public final class EmailAddressResultHandler extends ResultHandler { EmailAddressParsedResult emailResult = (EmailAddressParsedResult) getResult(); switch (index) { case 0: - sendEmailFromUri(emailResult.getMailtoURI(), null, null); + sendEmailFromUri(emailResult.getMailtoURI(), emailResult.getEmailAddress(), null, null); break; case 1: String[] addresses = new String[1]; diff --git a/android/src/com/google/zxing/client/android/result/ResultHandler.java b/android/src/com/google/zxing/client/android/result/ResultHandler.java index c5bd511a..e7fc5a12 100644 --- a/android/src/com/google/zxing/client/android/result/ResultHandler.java +++ b/android/src/com/google/zxing/client/android/result/ResultHandler.java @@ -206,16 +206,19 @@ public abstract class ResultHandler { } final void shareByEmail(String contents) { - sendEmailFromUri("mailto:", activity.getString(R.string.msg_share_subject_line), contents); + sendEmailFromUri("mailto:", null, activity.getString(R.string.msg_share_subject_line), contents); } final void sendEmail(String address, String subject, String body) { - sendEmailFromUri("mailto:" + address, subject, body); + sendEmailFromUri("mailto:" + address, address, subject, body); } // Use public Intent fields rather than private GMail app fields to specify subject and body. - final void sendEmailFromUri(String uri, String subject, String body) { + final void sendEmailFromUri(String uri, String email, String subject, String body) { Intent intent = new Intent(Intent.ACTION_SEND, Uri.parse(uri)); + if (email != null) { + intent.putExtra(Intent.EXTRA_EMAIL, new String[] {email}); + } putExtra(intent, Intent.EXTRA_SUBJECT, subject); putExtra(intent, Intent.EXTRA_TEXT, body); intent.setType("text/plain");