如何检测Android设备上是否配置了电子邮件客户端?如果没有配置电子邮件帐户,Android会将其视为短信(我使用android.content.Intent.ACTION_SEND)。我想提示用户没有配置电子邮件客户端。
答案 0 :(得分: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"));