2015-05-05 140 views
1

我試圖通過Android應用發送電子郵件。目前使用Android Studio 1.2並在安裝了ARM翻譯和Google應用程序的Galaxy Nexus 4.3(API 18)映像上測試Genymotion 2.4.0。我知道這個問題與this非常相似,但我已經嘗試了所有建議,但沒有任何效果。EXTRA_SUBJECT沒有獲取數據

我可以檢索電子郵件(發送到哪裏)和電子郵件的「正文」,但無法獲取電子郵件主題。代碼如下:

Intent iEmail = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "[email protected]", null)); 
iEmail.setType("text/plain"); 
// Both these "options" don't work 
iEmail.putExtra(Intent.EXTRA_SUBJECT, etTema.getText()); 
iEmail.putExtra(android.content.Intent.EXTRA_SUBJECT, "subject"); 
// This works fine 
iEmail.putExtra(Intent.EXTRA_TEXT, etDesc.getText()); 
startActivity(Intent.createChooser(iEmail, "Choose:")); 

當活動開始,我選擇了電子郵件客戶端的電子郵件(發送到)正確顯示的是「體」,但主題仍然是空白。

編輯︰無論我使用EditText(etTema)或嘗試傳遞一個字符串,結果總是相同的。

有什麼建議嗎?由於

回答

0

您的代碼應該工作,但我記得使用:

String uriText = "mailto:[email protected]" + 
    "?subject=" + Uri.encode("some subject text here") + 
    "&body=" + Uri.encode("some text here"); 
Uri uri = Uri.parse(uriText); 
Intent sendIntent = new Intent(Intent.ACTION_SENDTO); 
sendIntent.setData(uri); 
startActivity(Intent.createChooser(sendIntent, "Send email")); 

看看是否能在各種設備/原料藥爲你工作得更好。

+0

試過但仍無法獲得「主題」信息。無論如何謝謝@shkschneider –

0

試試這樣做。這對我很好。

Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "[email protected]", null)); 
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "My subject"); 
emailIntent.putExtra(Intent.EXTRA_TEXT, etDesc.getText()); 
startActivity(Intent.createChooser(emailIntent, "Send Email")); 
+0

這是我第一次嘗試(沒有「setType」)。 「主題」仍然是空的。 –