2012-08-17 197 views
11
mIntent = new Intent(Intent.ACTION_SEND); 
mIntent.putExtra(Intent.EXTRA_SUBJECT, getString("")); 

mIntent.setType("text/html"); 
Uri myUri = Uri.parse("http://www.Google.com/"); 
mIntent.putExtra(android.content.Intent.EXTRA_TEXT,Html.fromHtml("<a href=\""+myUri+"\">Link</a>")); 
startActivity(android.content.Intent.createChooser(mIntent, "Email:")); 

我試過上面的代碼,但在接收端我無法獲取鏈接。它轉換成普通文字..電子郵件問題(在電子郵件正文中發送超鏈接)android

+0

我複製/粘貼你的代碼,併爲我工作... – 2012-08-17 10:37:34

+0

你在接收端檢查嗎?,OP提到它沒有在接收端顯示。 – 2012-08-17 10:45:10

+0

是的,我發送了一封電子郵件給我的Gmail賬戶,然後通過Chrome瀏覽器檢查它是否正常工作。 – 2012-08-17 10:46:10

回答

15

試試這個.. 這是爲我工作..

String link_val = "www.google.com" 
String body = "<a href=\"" + link_val + "\">" + link_val+ "</a>" 

intent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body)); 
+11

不同的是,如果我們提供鏈接和它的值相同,那麼它工作的其他不是,即'www.example.com'正在工作,而'my custom text'不是。 – 2012-08-17 11:48:57

+0

我看到相同的行爲,我猜www.example.com正在工作,因爲gmail會自動將啓動http或www的文本轉換爲鏈接。 – scottyab 2012-12-11 12:26:08

+0

只有當我們把www放在這裏才能正常工作。但有什麼辦法,我可以把一些其他的文字link_val前 - :這個 – 2016-12-07 05:41:16

1

CapDroid的答案並不像它解決了這個問題,按照scottytab的評論。

嘗試;

yourIntent.setType("text/html"); 
yourIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body)); 

如果這不起作用,請嘗試添加;

yourIntent.putExtra(android.content.Intent.EXTRA_HTML_TEXT, Html.fromHtml(body)); 

參考文獻; fromHtmlEXTRA_HTML_TEXT

+0

yourIntent.setType(「text/html」)在Marshmallow和yourIntent.putExtra(android.content.Intent.EXTRA_HTML_TEXT,Html.fromHtml(body))中導致「沒有應用程序執行此操作」;沒有什麼區別 – Galya 2017-05-18 09:53:14

1

如果通過封閉在<html><body><\body><\html>源文本會正確使用Gmail使EXTRA_TEXT完整的HTML文檔,也就是說,你可以有鏈接正確的描述。

不幸的是,它不適用於所有的電子郵件應用程序。例如,它不適用於我的Galaxy S3上的三星電子郵件應用程序。我的結論是,你不能安全地做到這一點,這是非常煩人的。

+0

應該是''最後 – 2017-09-26 20:02:04