接收短信:
原理:通过广播接收系统短信通知:
添加权限:android.permision.RECEIVE_SMS;
广播地址:android.provider.Telephony.SMS_RECEIVED;
public class MyReciverNsg extends BroadcastReceiver{
public void onReceive(Context context,Intent intent){
Bundle bundle = intent.getExtras();
Object[] pdus = (Object[])bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdus.length];
for(int i = 0;i< messages.length;i++){
messages[i] = SmsMessages.createFromPdu((byte[]) pdus[i]);
}
//获取发送方号码
String address = messages[0].getOriginatingAddress();
//获取短信内容:
String fullMessage = "";
for(SmsMessage message : message){
fullMessage += message.getMessageBody();
}
}
}
发送短信:
添加权限:android:permision.SEND_SMS;
发送短信核心代码:
SmsManager smsmanager = SmsManager.getDefault();
smsmanager.sendTextMessage("tell_number",null,"msg",null,null);
发送状态监听:
Intent sendIntent = new Intent("SENT_SMS_ACTION");
PendingIntent pi = PendingIntent.getBroadcast(this,0,sendIntent,0);
smsmanager.sendTextMessage("tell_number",null,"msg",pi,null);
public class getSendStatus extends BroadcastReceiver{
public void onReceive(Context context,Intent intent){
if(getResultCode() == RESULT_OK){
//短信发送成功
}else{
//短信发送失败
}
}
}