短息工具类SMSUtils

   package  com.pzq.test.zhuanpan4;      import  android.app.Activity;   import  android.content.BroadcastReceiver;   import  android.content.Context;   import  android.content.Intent;   import  android.content.IntentFilter;   import  handler;   import  android.telephony.SmsMessage;   import  android.text.TextUtils;   import  android.util.Log;      import  java.util.regex.Matcher;   import  java.util.regex.Pattern;/* *   ,* Created  by  asus 提醒2016/6/26。   ,*/public  class  SMSUtils  {      private  BroadcastReceiver  smsReceiver, codeReceiver;   private  IntentFilter 过滤,mIntentFilter;   private  Handler 处理程序;   private  String  strContent;   private  String  patternCoder =, " (? & lt; ! \ \ d) \ \ d {6} (? ! \ \ d)”;   private  Activity  mActivity;   public  static  String  MSMCode_CHANGE_BROADCAST =,“com.pzq.test.SMSCode.CHANGE_BROADCAST”;      public  SMSUtils (Activity  mActivity), {   Log.d (“mainpzqtest ....”,,“getSMScode .... 444444444444444444444”);   时间=this.mActivity  mActivity;//,,getSMScode (“555”);   时间=filter  new  IntentFilter ();   filter.addAction (“android.provider.Telephony.SMS_RECEIVED”);   filter.setPriority (Integer.MAX_VALUE);   时间=smsReceiver  new  BroadcastReceiver (), {   @Override   public  void  onReceive (Context 上下文,Intent 意图),{   对象[],objs =, (Object []), intent.getExtras () . get (pdu);   时间:for  (Object  obj  obj), {   byte [], pdu =, (byte []), obj;   SmsMessage  sms =, SmsMessage.createFromPdu (pdu);//,短信的内容   String  message =, sms.getMessageBody ();   Log.d(“商标”,“message ,,,,”, +,消息);//,短息的手机号. . + 86开头吗?   String 得到=,sms.getOriginatingAddress ();   Log.d(“商标”,“得到,,,,”,+,);   if  (! TextUtils.isEmpty(从),{   String  code =, patternCode(消息);   if  (! TextUtils.isEmpty(代码),{   时间=strContent 代码;   getSMScode(代码);   }   }   }   }   };   mActivity.registerReceiver (smsReceiver,过滤器);   }/* *   ,*匹配短信中间的6个数字(验证码等)   ,*   ,* @param  patternContent   ,* @return   ,*/private  String  patternCode (String  patternContent), {   if  (TextUtils.isEmpty (patternContent)), {   return 零;   }   Pattern  p =, Pattern.compile (patternCoder);   Matcher  Matcher =, p.matcher (patternContent);   if  (matcher.find ()), {   return  matcher.group ();   }   return 零;   }      public  void  getSMScode (String 代码),{   Intent  Intent =, new 意图();   intent.putExtra(“代码”,代码);   intent.setAction (MSMCode_CHANGE_BROADCAST);   mActivity.sendBroadcast(意图);   }/* * *   ,*使用,,加权限,,,& lt; uses-permission  android: name=" android.permission.RECEIVE_SMS ",/比;   ,*   ,*,,,,,,,,registerReceiver ();   ,,,,,,,,,u =, new  SMSUtils (MainActivity.this);   ,*,private  void  registerReceiver (), {   ,,,,,,,,IntentFilter  IntentFilter =, new  IntentFilter ();   ,,,,,,,,intentFilter.addAction (SMSUtils.MSMCode_CHANGE_BROADCAST);   ,,,,,,,,registerReceiver (new  SMSBroadcastReceiver (),, intentFilter);   ,,}      class 才能SMSBroadcastReceiver  extends  BroadcastReceiver  {   ,,,,,,@Override   ,,,,,,,public  void  onReceive (Context 上下文,Intent 意图),{   ,,,,,,,,,,,if  (intent.getAction (),==, SMSUtils.MSMCode_CHANGE_BROADCAST), {   ,,,,,,,,,,,Bundle  Bundle =, intent.getExtras ();   ,,,,,,,,,,,smScode =, bundle.getString(“代码”);   ,,,,,,,,,,,Log.d (“mainpzqtest ....”,,“mBroadcastReceiver ....”, +, smScode);   ,,,,,,,,,,,et.setText (smScode);   ,,,,,,,,,,,,,}   ,,,,,,,,}   ,,};      ,*   ,*   ,*/}

短息工具类SMSUtils