首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android Intent 發送郵件:僅顯示 Gmail 或郵件客戶端

     編輯:程式設計綜合問答

預設行為

Intent.ACTION_SEND 會列出所有支援純文本分享的應用(簡訊、Facebook、Gmail 等)。

僅顯示郵件客戶端

改用 Intent.ACTION_SENDTO 搭配 mailto: URI:

Intent send = new Intent(Intent.ACTION_SENDTO);
String uriText = "mailto:email@gmail.com" 
               + "?subject=" + Uri.encode("主題")
               + "&body=" + Uri.encode("郵件正文");
Uri uri = Uri.parse(uriText);
send.setData(uri);
startActivity(Intent.createChooser(send, "選擇郵件客戶端"));

關鍵點

  • ACTION_SENDTO 僅匹配處理 mailto: 協議的應用(即郵件客戶端)。
  • 使用 Uri.encode() 對中文參數編碼,避免亂碼。
  • 若需預設 Gmail,可在 PackageManager 中查詢 com.google.android.gm 並直接啟動,但不推薦硬編碼包名。

進階:附件支持

mailto: 不支持附件。需附件時仍須用 ACTION_SEND 或 ACTION_SEND_MULTIPLE,並接受用戶可能選擇非郵件應用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved