package com.whf.messagerelayer.receiver;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;
import com.whf.messagerelayer.confing.Constant;
import com.whf.messagerelayer.service.SmsService;
import com.whf.messagerelayer.utils.FormatMobile;
import com.whf.messagerelayer.utils.NativeDataManager;
public class MessageReceiver extends BroadcastReceiver {
private NativeDataManager mNativeDataManager;
public MessageReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
this.mNativeDataManager = new NativeDataManager(context);
if(mNativeDataManager.getReceiver()){
Bundle bundle = intent.getExtras();
if(bundle!=null){
Object[] pdus = (Object[]) bundle.get("pdus");
for(int i = 0;i<pdus.length;i++){
SmsMessage sms = SmsMessage.createFromPdu((byte[]) pdus[i]);
startSmsService(context, sms);
}
}
}
}
private ComponentName startSmsService(Context context, SmsMessage sms) {
String mobile = sms.getOriginatingAddress();//发送短信的手机号码
if(FormatMobile.hasPrefix(mobile)){
mobile = FormatMobile.formatMobile(mobile);
}
String content = sms.getMessageBody();//短信内容
Intent serviceIntent = new Intent(context, SmsService.class);
serviceIntent.putExtra(Constant.EXTRA_MESSAGE_CONTENT,content);
serviceIntent.putExtra(Constant.EXTRA_MESSAGE_MOBILE,mobile);
return context.startService(serviceIntent);
}
}