2013-02-28 30 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

相關問題