短息工具类SMSUtils
packagecom.pzq.test.zhuanpan4;importandroid.app.Activity;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.content.IntentFilter;importandroid.os.Handler;importandroid.telephony.SmsMessage;importandroid.text.TextUtils;importandroid.util.Log;importjava.util.regex.Matcher;importjava.util.regex.Pattern;/***Createdbyasuson2016/6/26.*/publicclassSMSUtils{privateBroadcastReceiversmsReceiver,codeReceiver;privateIntentFilterfilter,mIntentFilter;privateHandlerhandler;privateStringstrContent;privateStringpatternCoder="(?<!\\d)\\d{6}(?!\\d)";privateActivitymActivity;publicstaticStringMSMCode_CHANGE_BROADCAST="com.pzq.test.SMSCode.CHANGE_BROADCAST";publicSMSUtils(ActivitymActivity){Log.d("mainpzqtest....","getSMScode....444444444444444444444");this.mActivity=mActivity;//getSMScode("555");filter=newIntentFilter();filter.addAction("android.provider.Telephony.SMS_RECEIVED");filter.setPriority(Integer.MAX_VALUE);smsReceiver=newBroadcastReceiver(){@OverridepublicvoidonReceive(Contextcontext,Intentintent){Object[]objs=(Object[])intent.getExtras().get("pdus");for(Objectobj:objs){byte[]pdu=(byte[])obj;SmsMessagesms=SmsMessage.createFromPdu(pdu);//短信的内容Stringmessage=sms.getMessageBody();Log.d("logo","message"+message);//短息的手机号。。+86开头?Stringfrom=sms.getOriginatingAddress();Log.d("logo","from"+from);if(!TextUtils.isEmpty(from)){Stringcode=patternCode(message);if(!TextUtils.isEmpty(code)){strContent=code;getSMScode(code);}}}}};mActivity.registerReceiver(smsReceiver,filter);}/***匹配短信中间的6个数字(验证码等)**@parampatternContent*@return*/privateStringpatternCode(StringpatternContent){if(TextUtils.isEmpty(patternContent)){returnnull;}Patternp=Pattern.compile(patternCoder);Matchermatcher=p.matcher(patternContent);if(matcher.find()){returnmatcher.group();}returnnull;}publicvoidgetSMScode(Stringcode){Intentintent=newIntent();intent.putExtra("code",code);intent.setAction(MSMCode_CHANGE_BROADCAST);mActivity.sendBroadcast(intent);}/****使用加权限<uses-permissionandroid:name="android.permission.RECEIVE_SMS"/>**registerReceiver();u=newSMSUtils(MainActivity.this);*privatevoidregisterReceiver(){IntentFilterintentFilter=newIntentFilter();intentFilter.addAction(SMSUtils.MSMCode_CHANGE_BROADCAST);registerReceiver(newSMSBroadcastReceiver(),intentFilter);}classSMSBroadcastReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){if(intent.getAction()==SMSUtils.MSMCode_CHANGE_BROADCAST){Bundlebundle=intent.getExtras();smScode=bundle.getString("code");Log.d("mainpzqtest....","mBroadcastReceiver...."+smScode);et.setText(smScode);}}};***/}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。