Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检测是否在Android设备上配置了电子邮件客户端?_Android_Email_Email Client - Fatal编程技术网

如何检测是否在Android设备上配置了电子邮件客户端?

如何检测是否在Android设备上配置了电子邮件客户端?,android,email,email-client,Android,Email,Email Client,如何检测是否在Android设备上配置了电子邮件客户端?如果没有配置电子邮件帐户,Android会将其视为文本消息(我使用Android.content.Intent.ACTION\u SEND)。我想提示用户没有配置电子邮件客户端 >不提示用户没有配置电子邮件客户端,而是考虑通过Actudio.Enter在ActudioRead中包装ActhyNoRead意图。code>createChooser()将返回用户选择的意图。如果用户没有选择有效的电子邮件客户端,您可能会弹出错误消息或向用户提供设

如何检测是否在Android设备上配置了电子邮件客户端?如果没有配置电子邮件帐户,Android会将其视为文本消息(我使用Android.content.Intent.ACTION\u SEND)。我想提示用户没有配置电子邮件客户端

>不提示用户没有配置电子邮件客户端,而是考虑通过Actudio.Enter在ActudioRead中包装ActhyNoRead意图。code>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"));

“还要注意的是,用户没有电子邮件客户端的情况极为罕见,因为他们至少必须在启动手机时注册他们的谷歌帐户(允许他们访问gmail)。”这不是事实。我向当地企业出售一款应用程序供内部使用,并提供在新的或旧的Android手机上预安装(以一定价格)。我刚刚在10部全新的三星Galaxy Xcover 3手机上安装了我的应用程序,在与客户核实后,决定不为这些手机创建任何谷歌账户。