1

如何检测是否在 Android 设备上配置了电子邮件客户端?如果未配置电子邮件帐户,Android 会将其视为短信(我使用 android.content.Intent.ACTION_SEND)。我想提示用户没有配置电子邮件客户端。

4

1 回答 1

0

与其提示用户未配置电子邮件客户端,不如考虑通过createChooser()将 ACTION_SEND 意图包装在选择器中。createChooser()将返回用户选择的意图。如果用户没有选择有效的电子邮件客户端,您可能会弹出错误消息或向用户提供设置屏幕以声明有效的电子邮件客户端。

请注意,无法确定发送应用程序是否是有效的“电子邮件”应用程序,只能确定它是否是用于发送的应用程序。这就是为什么应该使用选择器的原因,这样用户就会意识到他们没有设置电子邮件客户端。另请注意,用户没有电子邮件客户端的情况极为罕见,因为他们至少必须在启动手机时使用他们的谷歌帐户注册(允许他们访问 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"));
于 2011-05-04T21:32:19.310 回答