歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android調用系統郵件類應用的正確實現方法

Android應用開發中,很多情況下免不了要調用手機上的郵件類應用,實現郵件發送的功能,這一般是通過調用系統已有的Intent來實現的。看到網上很多郵件發送都是調用action為android.content.Intent.ACTION_SEND的Intent來實現的,下面我們就來看下這種方式實現的效果如何。

【使用Intent.ACTION_SEND方式】

具體的UI搭建我就不說了,很easy,直接看下發送的核心代碼就行:

[java] view plaincopyprint?
String[] email = {"3802**[email protected]"}; // 需要注意,email必須以數組形式傳入 
Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("message/rfc822"); // 設置郵件格式 
intent.putExtra(Intent.EXTRA_EMAIL, email); // 接收人 
intent.putExtra(Intent.EXTRA_CC, email); // 抄送人 
intent.putExtra(Intent.EXTRA_SUBJECT, "這是郵件的主題部分"); // 主題 
intent.putExtra(Intent.EXTRA_TEXT, "這是郵件的正文部分"); // 正文 
startActivity(Intent.createChooser(intent, "請選擇郵件類應用")); 

上面代碼的效果如下圖所示,將會拉起不止郵件類應用,這是很坑爹的事情,用戶體驗相當差。


從上面結果可以看出,ACTION_SEND不是首選的方案,更好的方案是能夠過濾非郵件類應用,只識別郵件類應用。這可以通過使用另外一個action來實現的。

Copyright © Linux教程網 All Rights Reserved