2013-02-28 56 views
1

我希望我的Android应用程序在用户从我的应用程序单击电子邮件地址时显示选择器,而无需通过Intent添加代码来启动选择器。如何在不使用Intent和选择器的情况下显示电子邮件共享选项列表?

我需要在我的TextView中包含哪些内容才能做到这一点?使用意图ACTION_SEND创建

+0

你是什么意思'没有添加代码startactivity(Intent.cratechooser)'?通常你必须编写代码来添加功能。 – Guian 2013-02-28 14:38:25

回答

1

如果您不想添加Intent来创建选择器,那么您可以将TextView的内容设置为mailto链接。这里有一个例子:

的strings.xml值

<string name="email_address">&lt;a href="mailto:[email protected]">[email protected]&lt;/a></string> 

代码:

TextView tv = (TextView)findViewById(R.id.email_address); 
tv.setText(Html.fromHtml(getString(R.string.email_address))); 
tv.setMovementMethod(LinkMovementMethod.getInstance()); 

这将打开可通过电子邮件共享邮件客户端的列表。但是有一个规定,如果用户只有一个邮件客户端设置或者有一个默认客户端设置,那么这个列表就不会出现,它只会打开默认的邮件客户端。

如果您想添加附件,主题或默认消息等内容,则需要创建适当的mailto链接来完成此操作。此示例仅打开填写了“to”字段的客户端。

+0

谢谢...这对我来说显示默认共享列表... 你能告诉我如何通过相同的主题和身体? – 2013-03-01 09:11:37

+0

您必须将主题和正文参数添加到链接。 'mailto:[email protected]?subject = Hello&body = Ahoy%20sir!'如果您对此有更多疑问,最好问一个新问题,而不是为此添加更多要求。另外,如果符合您的要求,请不要忘记点击复选标记接受此答案。 – MCeley 2013-03-01 13:21:18

0

一个共享列表:

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 

看一看这个tutorial

相关问题