自动填写获取到的短信验证码

移动开发
1、短信监听广播 2、读取短信内容 3、截取短信内容【可以 reg截取】 4、填写至相应控件 PS:DevStore测试没有获取到验证码

源码简介

 

1、短信监听广播 2、读取短信内容 3、截取短信内容【可以 reg截取】 4、填写至相应控件 PS:DevStore测试没有获取到验证码
源码截图

源码片段

  1. public class MainActivity extends Activity { 
  2.     private BroadcastReceiver smsReceiver; 
  3.     private IntentFilter filter2; 
  4.     private Handler handler; 
  5.     private EditText et; 
  6.     private String strContent; 
  7.     private String patternCoder = "(?<!--\\d)\\d{6}(?!\\d)"
  8.   
  9.     @Override 
  10.     protected void onCreate(Bundle savedInstanceState) { 
  11.         super.onCreate(savedInstanceState); 
  12.         setContentView(R.layout.activity_main); 
  13.         et = (EditText) findViewById(R.id.et); 
  14.         handler = new Handler() { 
  15.             public void handleMessage(android.os.Message msg) { 
  16.                 et.setText(strContent); 
  17.             }; 
  18.         }; 
  19.         filter2 = new IntentFilter(); 
  20.         filter2.addAction("android.provider.Telephony.SMS_RECEIVED"); 
  21.         filter2.setPriority(Integer.MAX_VALUE); 
  22.         smsReceiver = new BroadcastReceiver() { 
  23.             @Override 
  24.             public void onReceive(Context context, Intent intent) { 
  25.                 Object[] objs = (Object[]) intent.getExtras().get("pdus"); 
  26.                 for (Object obj : objs) { 
  27.                     byte[] pdu = (byte[]) obj; 
  28.                     SmsMessage sms = SmsMessage.createFromPdu(pdu); 
  29.                     // 短信的内容 
  30.                     String message = sms.getMessageBody(); 
  31.                     Log.d("logo""message     " + message); 
  32.                     // 短息的手机号。。+86开头? 
  33.                     String from = sms.getOriginatingAddress(); 
  34.                     Log.d("logo""from     " + from); 
  35.                     Time time = new Time(); 
  36.                     time.set(sms.getTimestampMillis()); 
  37.                     String time2 = time.format3339(true); 
  38.                     Log.d("logo", from + "   " + message + "  " + time2); 
  39.                     strContent = from + "   " + message; 
  40.                     handler.sendEmptyMessage(1); 
  41.                     if (!TextUtils.isEmpty(from)) { 
  42.                         String code = patternCode(message); 
  43.                         if (!TextUtils.isEmpty(code)) { 
  44.                             strContent = code; 
  45.                             handler.sendEmptyMessage(1); 
  46.                         } 
  47.                     } 
  48.                 } 
  49.             } 
  50.         }; 
  51.         registerReceiver(smsReceiver, filter2); 
  52.     } 
  53.   
  54.     @Override 
  55.     protected void onDestroy() { 
  56.         super.onDestroy(); 
  57.         unregisterReceiver(smsReceiver); 
  58.     } 
  59.   
  60.     /** 
  61.      * 匹配短信中间的6个数字(验证码等) 
  62.      * 
  63.      * @param patternContent 
  64.      * @return 
  65.      */ 
  66.     private String patternCode(String patternContent) { 
  67.         if (TextUtils.isEmpty(patternContent)) { 
  68.             return null
  69.         } 
  70.         Pattern p = Pattern.compile(patternCoder); 
  71.         Matcher matcher = p.matcher(patternContent); 
  72.         if (matcher.find()) { 
  73.             return matcher.group(); 
  74.         } 
  75.         return null
  76.     } 
  77. }</pre--> 
  78.                  

源码链接:http://down.51cto.com/data/2009981

责任编辑:chenqingxiang 来源: 网络整理
相关推荐

2021-01-19 10:29:34

短信验证码密码

2022-01-20 10:54:23

移动手机短信验证码隐患

2016-11-14 15:40:01

Android

2020-11-16 07:28:53

验证码

2016-10-09 13:33:12

2022-02-02 20:21:24

短信验证码登录

2020-01-06 13:11:30

技术工具

2022-07-20 09:52:44

Go语言短信验证码

2013-06-19 10:19:59

2018-08-08 09:47:29

短信验证码APP

2022-02-11 07:10:15

验证码

2010-01-08 13:46:30

VB.NET中文验证码

2023-09-11 13:08:26

2013-07-02 12:17:41

2019-08-23 09:52:59

Axure 产品经理

2017-04-26 12:03:32

短信

2011-11-02 12:43:33

2011-11-02 16:46:41

2019-06-18 07:12:25

验证码漏洞加密
点赞
收藏

51CTO技术栈公众号