package com.sandro.smstotxlqqmail.receiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
import com.sandro.smstotxlqqmail.service.EmailService;
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("RConReceive", "get message");
// 第一步、获取短信的内容和发件人
StringBuilder body = new StringBuilder();// 短信内容
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] _pdus = (Object[]) bundle.get("pdus");
SmsMessage[] message = new SmsMessage[_pdus.length];
for (int i = 0; i < _pdus.length; i++) {
message[i] = SmsMessage.createFromPdu((byte[]) _pdus[i]);
}
for (SmsMessage currentMessage : message) {
body.append(currentMessage.getDisplayMessageBody());
}
String smsBody = body.toString();
if ((smsBody.contains("校验码") && smsBody.contains("淘宝网"))
|| (smsBody.contains("验证码") && smsBody.contains("淘宝网"))) {
Intent serviceintent = new Intent();
serviceintent.setClass(context, EmailService.class);
serviceintent.setAction(EmailService.SMS_ACTION);
serviceintent.putExtra(EmailService.SMS_ACTION_VALUE_KEY,
smsBody);
context.startService(serviceintent);
Log.i("RConReceive", "get taobao message");
} else {
Log.w("RConReceive", "it is not taobao message");
}
}
}
}