Отображение адреса To, предварительно заполненного в Email Intent? - PullRequest
12 голосов
/ 13 февраля 2012

enter image description here Я не могу предварительно заполнить поле TO в почтовом клиенте по адресу "to", указанному в дополнительных материалах:

EmailImage.setOnClickListener(new OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                 // TODO Auto-generated method stub  
                Intent it = new Intent(Intent.ACTION_SEND_MULTIPLE);   
                it.putExtra(Intent.EXTRA_EMAIL, "toaddress@gmail.com");   
                it.putExtra(Intent.EXTRA_SUBJECT, "Regarding Policy Info");  
                it.putExtra(Intent.EXTRA_TEXT, "When is my next Premium due");  
                //it.setType("text/plain");   
                it.setType("message/rfc822");  
                startActivity(it);   
            }  
        });  

В чем проблема?

Спасибо
Sneha

Ответы [ 5 ]

40 голосов
/ 13 февраля 2012

Вам нужно поместить адрес в массив:

it.putExtra(Intent.EXTRA_EMAIL, new String[] {"toaddress@gmail.com"});

См. здесь .

6 голосов
/ 13 февраля 2012

У меня что-то вроде этого и работает:

            Intent intent = new Intent(Intent.ACTION_SEND);
            intent.setType("plain/text");
            intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "some@email.address" });
            intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
            intent.putExtra(Intent.EXTRA_TEXT, "mail body");
            startActivity(Intent.createChooser(intent, ""));
2 голосов
/ 13 февраля 2012

При использовании ACTION_SEND_MULTIPLE,

Вы должны предоставить массив строк для Intent.EXTRA_EMAIL Binyamin Sharet, который вам показан.

Если требуется предоставить только один адрес, используйте Intent.ACTION_SEND..

0 голосов
/ 04 апреля 2017

Это сработало для меня:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
                        emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] { "someone@gmail.com" });
                        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, edt_msg.getText().toString());
                        emailIntent.putExtra(Intent.EXTRA_SUBJECT, edt_subjct.getText().toString());
                        emailIntent.setType("message/rfc822");

                        Uri uri = Uri.parse("file://" + file_img_capt);
                        emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
                        startActivity(emailIntent);
0 голосов
/ 13 февраля 2012

Попробуйте это

Intent sendIntent = new Intent(Intent.ACTION_SEND);
                        sendIntent.putExtra(Intent.EXTRA_EMAIL,new String[]{"","your email"});
...