Android 发送短信
发送短信有两种方式:
1. 直接通过Intent发送, 就是启动Intent.ACTION_SENDTO , Uri是sms://,这种方式会直接调用,往往会出现:
private void sendSMSByIntent(String phoneNumber, String message) {
Intent sendIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("sms://"));
sendIntent.putExtra("address", phoneNumber);
sendIntent.putExtra("sms_body", message);
startActivity(sendIntent);
}
2. 直接在后台发送 方法是使用SmsManager, 不过发送成功后不会直接写入到短信数据库中。 所以需要自己写入
private void sendSMS(String phoneNumber, String message)
{
PendingIntent pi = PendingIntent.getActivity(this, 0,
new Intent(this, SendSMS.class), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, pi, null);
ContentValues values = new ContentValues();
values.put("address", phoneNumber);
values.put("body", message);
getContentResolver().insert(Uri.parse("content://sms/sent"), values);
}