在我的应用程序中,我允许用户通过电子邮件发送消息。
我使用类似的代码
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);
取自我如何从我的android应用程序发送电子邮件。
此时会出现一个gmail窗口,用户可以在"收件人"中输入地址。
我想检索输入的地址,这样下次用户发送电子邮件时,我就可以将其显示为默认的"收件人"。
有没有办法从用调用的gmail中检索输入的地址startActivity
?
这真的不可能。
你的项目无法访问Gmail应用程序中的"收件人"字段,当用户离开应用程序时,Gmail不会将任何信息发送回你的应用程序(意向是一种方式(。
此外,即使你能够以这种方式与Gmail应用程序进行专门的交互,如果用户没有安装Gmail客户端怎么办?他们可能使用本机电子邮件客户端,或Outlook,或任何其他可能性。
你最好使用:
i.putExtra(Intent.EXTRA_EMAIL , new String[]{"recipient@example.com"});
将收件人地址从软件发送到电子邮件程序,存储用户输入的值,并在默认情况下下次发送。