2017-06-02 28 views
-1

在google和stackoverflow中進行了一些研究後,我瞭解到我可以爲Android中的不同應用發送不同內容,如hereAndroid在電子郵件中共享html文本並在其他應用中共享純文本

但是,我遇到了一些問題。

  1. 如果選擇了任何郵件客戶端(手機默認郵件客戶端,Gmail應用程序,Outlook應用程序及其他),我想發送HTML電子郵件。在上面的鏈接中,我需要分別指定每個郵件應用程序,這是我想避免的。

  2. 當我嘗試通過GMAIL應用程序發送HTML電子郵件。它沒有像預期的那樣格式化。

回答

0

我想發送HTML電子郵件,如果任何郵件客戶端選擇

還有就是要查詢有關這是用來僅發送電子郵件的活動,沒有這樣的辦法,Intent.ACTION_SEND將得到所有能夠發送您定義的MIME_TYPE的應用程序。

例如,如果使用plain/text作爲MIME_TYPE,則將返回所有可共享plain/text的客戶端。這取決於用戶 - 他們想要分享哪個應用程序。但是,您可以比較軟件包名稱以確保選擇哪個應用程序。

假設,要檢查是否選擇了Gmail客戶端,

// Query about app that can send `text/plain` 
final Intent i = new Intent(Intent.ACTION_SEND); 
i.setType("text/plain"); 
i.putExtra(Intent.EXTRA_TEXT,"text"); 

final List<ResolveInfo> activities = getPackageManager().queryIntentActivities (i, 0); 

// Check if gmail is clicked, when the `chooser` item is clicked, 
ResolveInfo info = activities.get(position); 
if (info.activityInfo.packageName.contains("com.google.android.gm")) { 
    // Gmail was chosen 
} 

當我嘗試通過Gmail應用程序發送的HTML電子郵件。它不是 格式化它應該。

Html不支持所有的Html標記,您需要編寫自己的標記處理程序來完成此操作。看看這個link看看Html支持哪些標籤。

相關問題