Email Intent отображать неправильные адреса - PullRequest
0 голосов
/ 14 мая 2019

Прочитав этот вопрос и этот вопрос Я написал этот код, чтобы отправить электронное письмо на несколько адресов:

String[] addresses = {"test@gmail.com", "some@gmail.com" ,"third@gmail.com"};

    Intent someIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
            "mailto", Arrays.toString(addresses), null)) //all the addresses 
    .putExtra(Intent.EXTRA_SUBJECT, "This is a test")
    .putExtra(Intent.EXTRA_TEXT, "For my app");
    startActivity(Intent.createChooser(someIntent, "Send email..."));

Это выглядит так:

enter image description here

Как вы можете видеть на изображении по какой-то причине, я получаю дополнительные [ за первый адрес электронной почты и дополнительные ] за последний адрес электронной почты (это вызывает недействительные адреса электронной почты, и я не могу отправить электронная почта).

Почему это происходит и как я могу удалить эти лишние [ и ].

1 Ответ

0 голосов
/ 14 мая 2019

Итак, как сказал CommonsWare в своем комментарии, дополнительные [ и ] действительно получены из Arrays.toString().

Все, что мне нужно было сделать, это удалить [ и ] из строки, и все это заработало

String[] addresses = {"1tamir198@gmail.com", "some@gmail.com", "third@gmail.com"};
String cleanAddresses = Arrays.toString(addresses).replace("[", "").replace("]", ""); //remove [] from addresses

    Intent someIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
            "mailto", cleanAddresses, null)) //all the addresses
            .putExtra(Intent.EXTRA_SUBJECT, "This is a test")
            .putExtra(Intent.EXTRA_TEXT, "For my app");
    startActivity(Intent.createChooser(someIntent, "Send email..."));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...