@SocialFly

Отправка Email через Android. Intent?

Здравствуйте. Появилась необходимость сделать отправку анкетных данных. Естественно, сделал я это через Intent. Код ниже:
phone = phoneText.getText().toString(); //TextView с номером телефона
                        name = nameText.getText().toString(); //TextView с именем и фамилией
                        to = "my-mail.ru";

                        Intent email = new Intent(Intent.ACTION_SEND);
                        email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to});
                        email.putExtra(Intent.EXTRA_SUBJECT, subject);
                        email.putExtra(Intent.EXTRA_TEXT, phone);
                        email.putExtra(Intent.EXTRA_TEXT, name);
                        
                        email.setType("message/rfc822");

                        startActivity(Intent.createChooser(email, "Выберите email клиент :"));
                        break;

Так вот, в чем, собственно, проблема. При открытии того же gmail на андроиде, строка Subject и to передается и записывается, но остальные - Нет.
За ранее спасибо за ответы.
  • Вопрос задан
  • 1100 просмотров
Решения вопроса 1
a13xsus
@a13xsus
Lazy developer
Попробуйте через setData передавать адрес получателя и без использования setType("message/rfc822");
Мой код на С#, в Java вроде то же самое, только имена классов и методов со строчных букв начинаются.
string contactsMailmain = contacts_mail.Text;
string subject = "Subject";

                try
                {
                    Intent contactintent = new Intent(Intent.ActionSendto); // экшн без вложений
                    contactintent.SetData(Android.Net.Uri.Parse("mailto:" + contactsMailmain));
                    contactintent.PutExtra(Intent.ExtraSubject, subject);
                    contactintent.PutExtra(Intent.ExtraText, name + "\n" + phone );                    
                    StartActivity(contactintent);

                }
                catch (ActivityNotFoundException anfe)
                {
                    NoActivityAlert();
                }


У меня так и всё работает (с)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы