Intent.EXTRA_EMAIL не заполняет поле Кому

Я пытаюсь использовать intent, чтобы отправить электронное письмо из моего приложения, но поле "Кому" по электронной почте не будет заполнено. Если я добавлю код для заполнения темы или текста, они работают нормально. Просто поле Кому не будет заполнено.

Я также попытался изменить тип на "text/plain" и "text/html", но у меня такая же проблема. Может ли кто-нибудь помочь?

public void Email(){

    Intent emailIntent = new Intent(Intent.ACTION_SEND); 
    emailIntent.setType("message/rfc822");  //set the email recipient
    String recipient = getString(R.string.IntegralEmailAddress);
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL  , recipient);
    //let the user choose what email client to use
    startActivity(Intent.createChooser(emailIntent, "Send mail using...")); }

Клиент электронной почты, который я пытаюсь использовать, - это Gmail

Ответ 1

Я думаю, что вы не проходите recipient как array of string

он должен быть как

emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] { "[email protected]" });

Ответ 2

Используйте этот

public void Email(){
    // use this to declare your 'recipient' string and get your email recipient from your string xml file
    Resources res = getResources();
    String recipient = getString(R.string.IntegralEmailAddress);
    Intent emailIntent = new Intent(Intent.ACTION_SEND); 
    emailIntent.setType("message/rfc822");  //set the email recipient
    emailIntent.putExtra(Intent.EXTRA_EMAIL, recipient);
    //let the user choose what email client to use
    startActivity(Intent.createChooser(emailIntent, "Send mail using...")); 

``}

Это будет работать:)
Это то, что документация по android говорит о Intent.Extra_Email
-Связать массив всех адресов электронной почты получателей. Таким образом, вы должны правильно кормить строку Вы можете прочитать больше здесь
http://developer.android.com/guide/components/intents-common.html#Email и здесь http://developer.android.com/guide/topics/resources/string-resource.html Или используйте действие ACTION_SENDTO и включите схему данных "mailto:". Например:

Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:")); // only email apps should handle this
intent.putExtra(Intent.EXTRA_EMAIL, addresses);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
if (intent.resolveActivity(getPackageManager()) != null) {
    startActivity(intent);
}

Ответ 3

private void callSendMeMail() {
    Intent Email = new Intent(Intent.ACTION_SEND);
    Email.setType("text/email");
    Email.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" });
    Email.putExtra(Intent.EXTRA_SUBJECT, "Feedback");
    startActivity(Intent.createChooser(Email, "Send mail to Developer:"));
}