Android调用系统邮件类应用的正确实现方法(2)

【使用Intent.ACTION_SENDTO方式】

核心代码如下:

[java] view plaincopyprint?
// 必须明确使用mailto前缀来修饰邮件地址,如果使用 
// intent.putExtra(Intent.EXTRA_EMAIL, email),结果将匹配不到任何应用 
Uri uri = Uri.parse("mailto:3802**92@qq.com"); 
String[] email = {"3802**92@qq.com"}; 
Intent intent = new Intent(Intent.ACTION_SENDTO, uri); 
intent.putExtra(Intent.EXTRA_CC, email); // 抄送人 
intent.putExtra(Intent.EXTRA_SUBJECT, "这是邮件的主题部分"); // 主题 
intent.putExtra(Intent.EXTRA_TEXT, "这是邮件的正文部分"); // 正文 
startActivity(Intent.createChooser(intent, "请选择邮件类应用")); 

效果图如下所示:

Android调用系统邮件类应用的正确实现方法

当手机上只有一个匹配的邮件类应用时,系统将不会弹出ChooserActivity,供用户从候选的应用中挑选一个,而是直接跳转到匹配的那个应用去。这时查看Eclipse的logcat可以发现,出现如下异常信息:

Android调用系统邮件类应用的正确实现方法

但是,当系统中存在多于一个的匹配应用时,会弹出ChooserActivity,让用户选择一个应用发送邮件,这时查看logcat不会出现之前的异常。这又是为何呢?

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/30bd9cf4dfd122b57407b41244f1f81a.html