2013-02-05 79 views
0

更新:電子郵件意向問題。無法選擇電子郵件選項

管理對gmail的加載進行排序。

現在我無法在意圖加載時設置gmail的'收件人','主題'和'消息'字段。

截圖顯示我的電子郵件佈局:

enter image description here

截圖顯示加載gmail的意圖。但沒有從傳遞的細節設置字段。

enter image description here

代碼:

@Override 
public void onClick(View sendEmailClick) { 


    Intent sendEmailIntent = new Intent(Intent.ACTION_SEND); 
    sendEmailIntent.setType("plain/text"); 
     sendEmailIntent.putExtra(Intent.EXTRA_EMAIL, emailAdd); 
     sendEmailIntent.putExtra(Intent.EXTRA_SUBJECT, emailSub); 
     sendEmailIntent.putExtra(Intent.EXTRA_TEXT, emailMess); 
     startActivity(Intent.createChooser(sendEmailIntent, "Send email")); 

     //startActivity(Intent.createChooser(sendEmailIntent, "Send email...")); 
} 
+0

使用intent.setType(「text/plain」); – dymmeh

回答

1

如果默認的電子郵件客戶端不會有一個帳戶,它不應該註冊本身Intent.ACTION_SEND。確保你有一個帳戶添加到應用程序,並嘗試再次發送您的電子郵件。如上所述,使用"text/plain"作爲類型。

From what I can find on short notice:

<activity 
      android:name=".activity.MessageCompose" 
      android:label="@string/compose_title" 
      android:enabled="false" 
      android:theme="@android:style/Theme.Holo.Light" 
      > 

撰寫活動是不是默認啓用的,一旦你添加的帳戶應該啓用。

+0

非常感謝您的回覆。我已經添加了我的Gmail帳戶,現在當我點擊發送按鈕時,onclick方法開始了這個意圖。我現在唯一的問題是我是否似乎無法通過我傳遞的意向詳細信息設置Gmail'To''主題'和'消息'字段?我會更新我的問題以表明這一點。 – user1352057

0

您可以發送電子郵件也沒有外部應用程序:

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

String[] recipients = new String[]{"[email protected]", "",}; 

emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipients); 

emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Test"); 

emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "This is email's message"); 

emailIntent.setType("text/plain"); 

startActivity(Intent.createChooser(emailIntent, "Send mail...")); 

finish(); 
+0

感謝您的回覆。你的意思是,我不需要選擇一個電子郵件應用程序來發送我的電子郵件?我已經嘗試過你的startActivity,並且遇到同樣的問題。我不使用字符串數組是否需要這種方法工作?我只是用我的edittext值設置'.EXTRA_EMAIL'。 – user1352057

+0

是的,你不需要申請發送申請。你可以聲明你的edittext並獲得文本'String s = et.getText()。toString();'。現在你可以......「EXTRA_TEXT,s);' – TN888

0
try { 
    final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{recipient}); 
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message); 
    emailIntent.setType("plain/text"); 
    startActivity(Intent.createChooser(emailIntent, "Send email")); 
} catch (ActivityNotFoundException e) { 
    Log.i("app name", "Unable to send email"); 
} 
0

設法拿到了第二部分TI這個整理。您需要將其作爲字符串數組傳遞給Gmail,而不僅僅是一個純字符串。希望這將在未來拯救別人的問題!