在我的应用程序中,我允许用户通过电子邮件发送消息。
我使用这样的代码
Intent i = new Intent(Intent.ACTION_SENDTO);
i.setData(Uri.parse("mailto:"));
i.putExtra(Intent.EXTRA_EMAIL , new String[]{Settings.getLastEmail()});
i.putExtra(Intent.EXTRA_SUBJECT, context.getString(R.string.settings_DeviceID));
startActivity(i);
摘自how can I send emails from my android application。
这时会出现一个gmail窗口,用户可以在“收件人”收件人中输入地址。
我想检索输入的地址,以便下次用户发送电子邮件时将其显示为默认的“收件人”。
有没有一种方法可以从名为的gmail中检索输入的地址
startActivity
?
答案 0 :(得分:1)
这确实是不可能的。
您的项目无法访问Gmail应用程序中的“收件人”字段,并且当用户离开时,Gmail不会将任何信息发送回您的应用程序(意图是一种方式)。
此外,即使您可以通过这种方式专门与Gmail应用程序进行交互,如果用户没有安装 Gmail客户端怎么办?他们可能正在使用本机电子邮件客户端或Outlook,或其他许多可能性。
最好使用:
i.putExtra(Intent.EXTRA_EMAIL , new String[]{"recipient@example.com"});
通过软件将收件人地址发送到电子邮件程序,存储用户输入的值,并在默认情况下下次发送。