String SEND_SMS = "SEND_SMS_SUCESS";
String DELIVERED_SMS = "DELIVERED_SMS_SUCESS";
//短信发送方法
private void sendSMS(String send_number,String send_message) {
//获取短信管理器,是Android系统默认的短信管理器,可以通过它发送短信。
SmsManager sms = SmsManager.getDefault();
//需要监听的发送广播信息
Intent sendIntent = new Intent(SEND_SMS);
PendingIntent sendPI = PendingIntent.getBroadcast(this, 0, sendIntent,
0);
//需要监听的接收广播信息
Intent deliverIntent = new Intent(DELIVERED_SMS);
PendingIntent deliverPI = PendingIntent.getBroadcast(this, 0,
deliverIntent, 0);
//如果短信内容超过70个字符 将这条短信拆成多条短信发送出去
if (send_message.length() > 70) {
ArrayList<String> msgs = sms.divideMessage(send_message);
for (String msg : msgs) {
sms.sendTextMessage(send_number, null, msg, sendPI, deliverPI);
}
} else {
sms.sendTextMessage(send_number, null, send_message, sendPI, deliverPI);
}
}
//自己发送信息是否成功
private BroadcastReceiver sendMessage = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
switch (getResultCode()) {
case Activity.RESULT_OK:
//发送成功
default:
//发送失败
break;
}
}
};
//对方接收信息是否成功
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//接收成功
}
};
//在onCreate中注册广播
registerReceiver(sendMessage, new IntentFilter(SEND_SMS));
registerReceiver(receiver, new IntentFilter(DELIVERED_SMS));