我用編程的方式使用 fires intent來實現發送電子郵件的功能:
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_EMAIL,
new String[] { to });
i.putExtra(Intent.EXTRA_SUBJECT, subject);
i.putExtra(Intent.EXTRA_TEXT, msg);
try {
startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
Toast
.makeText(Start.this,
"There are no email clients installed.",
Toast.LENGTH_SHORT).show();
}
但是當這個intent被銷毀後,我看到list中很多的項目,例如sms app , gmail app, facebook app 等等。
如何把這些都過濾掉,只剩下gmail app? 或者只有email apps?
使用android.content.Intent.ACTION_SENDTO (new Intent(Intent.ACTION_SENDTO);
只能獲得電子郵件客戶的列表。
使用Uri來添加主題和正文文本。
Intent send = new Intent(Intent.ACTION_SENDTO);
String uriText;
uriText = "mailto:[email protected]" +
"?subject=the subject" +
"&body=the body of the message";
uriText = uriText.replace(" ", "%20");
Uri uri = Uri.parse(uriText);
send.setData(uri);
startActivity(Intent.createChooser(send, "Send mail..."));