2011-05-04 135 views

回答

0

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

请注意,无法确定发送应用程序是否为有效的“电子邮件”应用程序,只是它是否为发送应用程序。这就是应该使用选择器的原因,这样用户才会意识到他们没有设置电子邮件客户端。另外请注意,用户没有电子邮件客户端是非常罕见的,因为他们必须至少在他们的Google帐户启动电话时注册(让他们访问Gmail)。

这是一个有一个选择器发送邮件的例子:

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

“另外请注意,这是极为罕见的用户没有电子邮件客户端,因为它们必须至少与他们的谷歌帐户注册时,他们开始他们的电话(让他们访问Gmail)“。这不是真的。我向本地企业销售应用程序供内部使用,并且我提供在新的或使用过的Android手机上预安装(以价格购买)。我刚刚在10款全新的三星Galaxy Xcover 3手机上安装了我的应用程序,并在与客户核对之后决定不为该手机创建任何Google帐户。 – RenniePet 2016-02-03 02:12:19