电话
拨打界面:
Intent intent = new Intent();intent.setAction("android.intent.action.DIAL");intent.setData(Uri.parse("tel:"+"电话号码"));startActivity(intent);
直接拨出:
需要权限:android.permission.CALL_PHONE
Uri uri = Uri.parse("tel:" + "电话号码");Intent intent = new Intent(Intent.ACTION_CALL, uri);startActivity(intent);
短信
发送界面:
Uri uri = Uri.parse("smsto:" + "电话号码");Intent intent = new Intent(Intent.ACTION_SENDTO, uri);intent.putExtra("sms_body", "短信内容");startActivity(intent);
或
Intent intent = new Intent(Intent.ACTION_VIEW);intent.putExtra("address", "电话号码"); intent.putExtra("sms_body", "短信内容"); intent.setType("vnd.android-dir/mms-sms"); startActivity(intent);
直接发送:
需要权限:android.permission.SEND_SMS
SmsManager smsManager = SmsManager.getDefault();// 拆分短信内容ListdivideContents = smsManager.divideMessage("完整短信信息");// 分批发送for (String text : divideContents) { smsManager.sendTextMessage("电话号码", null, text, sentPI, deliverPI); }// 处理返回的发送状态String SENT_SMS_ACTION = "SENT_SMS_ACTION";Intent sentIntent = new Intent(SENT_SMS_ACTION);PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, sentIntent, 0);// register the Broadcast Receiverscontext.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context _context, Intent _intent) { switch (getResultCode()) { case Activity.RESULT_OK: Toast.makeText(context, "短信发送成功", Toast.LENGTH_SHORT) .show(); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: break; case SmsManager.RESULT_ERROR_RADIO_OFF: break; case SmsManager.RESULT_ERROR_NULL_PDU: break; } }}, new IntentFilter(SENT_SMS_ACTION));// 处理返回的接收状态String DELIVERED_SMS_ACTION = "DELIVERED_SMS_ACTION";// create the deilverIntent parameterIntent deliverIntent = new Intent(DELIVERED_SMS_ACTION);PendingIntent deliverPI = PendingIntent.getBroadcast(context, 0, deliverIntent, 0);context.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context _context, Intent _intent) { Toast.makeText(context, "收信人已经成功接收", Toast.LENGTH_SHORT) .show(); }}, new IntentFilter(DELIVERED_SMS_ACTION));
发送短信的参数说明
smsManager.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliverIntent)
-- destinationAddress:目标电话号码
-- scAddress:短信中心号码,可以不填 -- text: 短信内容 -- sentIntent:发送 -->中国移动 --> 中国移动发送失败 --> 返回发送成功或失败信号 --> 后续处理 即,这个意图包装了短信发送状态的信息 -- deliverIntent: 发送 -->中国移动 --> 中国移动发送成功 --> 返回对方是否收到这个信息 --> 后续处理 即:这个意图包装了短信是否被对方收到的状态信息(供应商已经发送成功,但是对方没有收到)。
邮件
Intent emailIntent = new Intent(Intent.ACTION_SEND);// 文本格式emailIntent.setType("text/plain");// 对方邮件地址emailIntent.putExtra(Intent.EXTRA_EMAIL, "对方邮件地址");// 标题内容emailIntent.putExtra(Intent.EXTRA_SUBJECT, "标题内容");// 邮件文本内容emailIntent.putExtra(Intent.EXTRA_TEXT, "邮件文本内容");// 邮件发送客户端选择器startActivity(Intent.createChooser(emailIntent, "Choose Email Client"));
联系人
添加联系人:
Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);intent.putExtra("name", "姓名");intent.putExtra("phone", "电话号码");context.startActivity(intent);
添加或编辑联系人:
Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);intent.setType("vnd.android.cursor.item/contact");intent.putExtra(Intents.Insert.PHONE, "电话号码");context.startActivity(intent);
上述代码大部分未经测试。
参考转载来源: