1、发送邮件
public void composeEmail(String[] mainAddresses,String[] copyAddresses, String[] secretAddresses,
String subject,String text, Uri attachment) {
Intent intent = new Intent(Intent.ACTION_SENDTO);
//加入mailto:限制了只有邮件应用能响应这个intent,其他软件如短信、社交应用等都不能响应
intent.setData(Uri.parse("mailto:"));
//所有“主送”收件人电子邮件地址的字符串数组。
intent.putExtra(Intent.EXTRA_EMAIL, mainAddresses);
//所有“抄送”收件人电子邮件地址的字符串数组。
intent.putExtra(Intent.EXTRA_CC, copyAddresses);
//所有“密件抄送”收件人电子邮件地址的字符串数组
intent.putExtra(Intent.EXTRA_BCC, secretAddresses);
//邮件主题
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
//邮件正文
intent.putExtra(Intent.EXTRA_TEXT, text);
//附件的 Uri。如果使用的是 ACTION_SEND_MULTIPLE 操作,应将其改为包含多个 Uri 对象的 ArrayList。
intent.putExtra(Intent.EXTRA_STREAM, attachment);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
2、发送短信
必要的权限
< uses-permission android:name=”android.permission.SEND_SMS”/>
public void composeMmsMessage(String phone, String message,String subject, Uri attachment) {
Intent intent = new Intent(Intent.ACTION_SENDTO);
//加smsto确保只能由短信应用发送,不能用其他软件发送
intent.setData(Uri.parse("smsto:"+phone));
//消息正文
intent.putExtra("sms_body", message);
//消息主题(通常只适用于彩信)。
intent.putExtra("subject", subject);
//图像或视频的 Uri。 如果使用的是 ACTION_SEND_MULTIPLE 操作,
// 此 extra 应为指向要附加的图像/视频的 Uri ArrayList。
intent.putExtra(Intent.EXTRA_STREAM, attachment);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
3、拨打电话
必要的权限
< uses-permission android:name=”android.permission.CALL_PHONE”/>
public void dialPhoneNumber(String phoneNumber) {
//Intent.ACTION_DIAL只是打开拨号器
// Intent intent = new Intent(Intent.ACTION_DIAL);
//Intent.ACTION_CALL直接拨打电话,需要打电话权限
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + phoneNumber));
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}