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);
}