发送单条短信:
private void sendSingleSms(String phone, String content) {
SmsManager smsManager = SmsManager.getDefault();
List<String> texts = smsManager.divideMessage(content);
// 发送之前检查短信内容是否为空
for (int i = 0; i < texts.size(); i++) {
String text = texts.get(i);
Intent itSend = new Intent(INTENT_SEND_STATE);
PendingIntent mSendPI = PendingIntent.getBroadcast(getApplicationContext(), 0, itSend, PendingIntent.FLAG_ONE_SHOT);// 这里requestCode和flag的设置很重要,影响数据KEY_PHONENUM的传递。
smsManager.sendTextMessage(phone, null, content, mSendPI, null);
}
}
关于上面的sendTextMessage方法的第三个参数mSendPI, 它是短信发送结果的一个返回, 当短信 发送成功/发送失败 的时候就会执行该 PendingIntent, 我这里是让他发送一个广播.
广播接收器: