短信发送
发短信第一件事是在manifest文件中添加权限
<uses-permission android:name="android.permission.SEND_SMS" />
第一方法:调用系统发短信的应用
/**
* 调起系统功能发短信
* @param phoneNumber
* @param message
*/
public void doSendSMSTo(String phoneNumber,String message){
if(PhoneNumberUtils.isGlobalPhoneNumber(phoneNumber)){
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:"+phoneNumber));
intent.putExtra("sms_body", message);
startActivity(intent);
}
}
第二:调用系统短信接口发送短信
// 对短信发送状态监听的广播接收器
private SmsStatusReceiver mSmsStatusReceiver;
//对短信接受状态监听的广播接收器
private SmsDeliveryStatusReceiver mSmsDeliveryStatusReceiver;
// 调用系统短信接口发送短信初始化
private void initSendSms() {
// TODO Auto-generated method stub
smsPhone = (EditText) findViewById(R.id.to);
SmsContent = (EditText) findViewById(R.id.content_sms_content);
send = (Button) findViewById(R.id.send_sms);
// 注册短信发送成功后的广播接收器Action
final String SMS_SEND_ACTIOIN = "SMS_SEND";
final String SMS_DELIVERED_ACTION = "SMS_DELIVERED";
mSmsStatusReceiver = new SmsStatusReceiver();
registerReceiver(mSmsStatusReceiver, new IntentFilter(SMS_SEND_ACTIOIN));
mSmsDeliveryStatusReceiver = new SmsDeliveryStatusReceiver();
registerReceiver(mSmsDeliveryStatusReceiver, new IntentFilter(
SMS_DELIVERED_ACTION));
// 发送短信
send.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//这个意图包装了对短信发送状态回调的处理逻辑
PendingIntent sentIntent = PendingIntent.getBroadcast(
SmsActivity.this, 1, new Intent(SMS_SEND_ACTIOIN), 0);
//这个意图包装了对短信接受状态回调的处理逻辑
PendingIntent deliveryIntent = PendingIntent.getBroadcast(
SmsActivity.this, 2, new Intent(SMS_DELIVERED_ACTION),
0);
SmsManager manager = SmsManager.getDefault();
manager.sendTextMessage(smsPhone.getText().toString(),