如何使用预先填写的"收件人"字段启动电子邮件应用程序?

scu*_*uba 13 email android android-intent android-activity

我试过这个代码,我在这里找到:

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "testemail@gmail.com", null)); startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

但是我在屏幕上看到一条消息,上面写着"不支持的动作".有关如何使其工作的任何想法?

谢谢!

Com*_*are 27

试试这个片段:

/* Create the Intent */
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

/* Fill it with Data */
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"to@email.com"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text");

/* Send it off to the Activity-Chooser */
context.startActivity(Intent.createChooser(emailIntent, "Send mail..."));
Run Code Online (Sandbox Code Playgroud)

关键部分:EXTRA_EMAIL用于您的地址并createChooser()在用户配置了多个电子邮件客户端的情况下使用.

  • 谢谢,这工作:)我最初尝试了类似的东西,但它只是拉了一些消息屏幕,而不是电子邮件应用程序.我想那是因为当时我没有在模拟器中设置电子邮件帐户? (3认同)

jit*_*ter 5

你试过了吗

Intent intent = new Intent(
    Intent.ACTION_SENDTO,
    Uri.parse("mailto:testemail@gmail.com")
);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)