Извлечение поля «to» из адреса электронной почты - PullRequest
0 голосов
/ 28 ноября 2018

Из моего приложения я разрешаю пользователю отправить сообщение по электронной почте.

Я использую такой код

Intent i = new Intent(Intent.ACTION_SENDTO);
i.setData(Uri.parse("mailto:"));
i.putExtra(Intent.EXTRA_EMAIL  , new String[]{Settings.getLastEmail()});
i.putExtra(Intent.EXTRA_SUBJECT, context.getString(R.string.settings_DeviceID));
startActivity(i);

взято из как я могу отправлять электронные письма из моего приложения для Android .

На данный момент GmailПоявится окно, и пользователь сможет ввести адрес получателя «to».

Я хотел бы получить введенный адрес, чтобы я мог показать его как получателя «to» по умолчанию в следующий раз, когда пользователь отправляет электронное письмо.

Есть ли способ получить введенный адрес из Gmail, который вызывается с помощью startActivity?

1 Ответ

0 голосов
/ 28 ноября 2018

Это действительно невозможно.

Поле «Кому» в приложении Gmail недоступно для вашего проекта, и Gmail не отправляет какую-либо информацию обратно в ваше приложение, когда пользователь покидает его (содержимое является односторонним).

Кроме того, даже если вы могли специально взаимодействовать с приложением Gmail таким образом, что, если у пользователя не установлен установлен клиент Gmail?Они могут использовать собственный почтовый клиент или Outlook или любое другое количество возможностей.

Вам лучше использовать:

i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"recipient@example.com"});

для отправки адреса получателей в программу электронной почты из вашего программного обеспечения, сохранения значения, введенного пользователем, и отправки его по умолчанию в следующемвремя.

...