2

我正在开发一个带有电子邮件共享的应用程序。我用来启动意图的代码是标准的Android,即:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, title);
emailIntent.setType("application/octet-stream");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Hello");

context.startActivity(emailIntent);

问题是,这会以我不想要的全屏模式启动 Gmail 应用程序。我可以让它成为一个类似于下面 iOS 的对话框吗?如果没有,是已经写好了,还是需要我自己写。

在此处输入图像描述

谢谢

4

3 回答 3

2

您可以使用此布局创建一个对话框,以从用户那里获取数据并使用 avaMail API 发送实际的电子邮件,如帖子所示

在不使用默认/内置应用程序的情况下使用 JavaMail API 在 Android 中发送电子邮件

于 2012-10-22T23:02:38.633 回答
1

您不能使用 ACTION_SEND。通过发送此 Intent,您是在告诉系统自己启动 Gmail。您可以在 Intent 中传递“附加”以填充一些有用的数据。这是一项功能,因为您允许用户在可以处理 ACTION_SEND 的应用程序中进行选择,而不是强制他们使用 Gmail。

如果您想要一个对话框,您必须先自己编写,然后将您收集的值传递给用户选择的电子邮件程序。

于 2012-10-22T17:28:11.260 回答
0

通过触发 Intent,您正在启动另一个应用程序。没有邮件程序(公平)支持任何类型的嵌入,因此您需要自己编写图片活动,然后,一旦用户结束输入,抓取那里的内容并执行ACTION_SEND。然而,我建议不要这样做,除非你的用户开始抱怨(我认为这不会发生)。

于 2012-10-22T17:42:23.017 回答