Как определить, настроен ли почтовый клиент на устройстве Android? - PullRequest
1 голос
/ 04 мая 2011

Как определить, настроен ли почтовый клиент на устройстве Android?Если учетная запись электронной почты не настроена, Android обрабатывает ее как текстовое сообщение (я использую android.content.Intent.ACTION_SEND).Я хочу сообщить пользователю, что почтовый клиент не настроен.

1 Ответ

0 голосов
/ 05 мая 2011

Вместо того, чтобы указывать пользователю, что клиент электронной почты не настроен, рассмотрите возможность упаковки намерения ACTION_SEND в блоке выбора через createChooser () .createChooser() вернет намерение, выбранное пользователем.Если пользователь не выбрал действительный почтовый клиент, возможно, вы можете вызвать сообщение об ошибке или предоставить пользователю экран настроек, чтобы объявить действительный почтовый клиент.

Обратите внимание, что невозможно определить, является лиотправляющее приложение является действительным приложением электронной почты, независимо от того, является ли оно приложением для отправки.Вот почему следует использовать средство выбора, чтобы пользователь мог понять, что у него не настроен почтовый клиент.Также обратите внимание, что у пользователей крайне редко бывает отсутствие почтового клиента, поскольку они должны по крайней мере зарегистрироваться в своей учетной записи Google, когда они запускают свой телефон (предоставляя им доступ к Gmail).

Вот пример отправкиэлектронное письмо с выбором:

sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("application/octet-stream");
sendIntent.putExtra(Intent.EXTRA_EMAIL,new String[] {"myuser@gmail.com"});
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Email Subject");
sendIntent.putExtra(Intent.EXTRA_TEXT, "Body text of email message");
startActivity(Intent.createChooser(sendIntent, "Send Mail"));
...