Android如何通过手机自动获取短信验证码

 更新时间:2016年03月04日 12:00:42   转载 投稿:lijiao  
注册帐号时,经常需要手机获取验证码,Android如何通过手机自动获取短信验证码,下面看看小编给大家分享的一段代码,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Android实现手机自动获取短信验证码功能,供大家参考,具体内容如下

1、短信监听广播

2、读取短信内容

3、截取短信内容【可以 reg截取】

4、填写至相应控件

PS:DevStore测试没有获取到验证码

源码片段

public class MainActivity extends Activity { 
 private BroadcastReceiver smsReceiver; 
 private IntentFilter filter2; 
 private Handler handler; 
 private EditText et; 
 private String strContent; 
 private String patternCoder = "(?<!--\\d)\\d{6}(?!\\d)"; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
  et = (EditText) findViewById(R.id.et); 
  handler = new Handler() { 
   public void handleMessage(android.os.Message msg) { 
    et.setText(strContent); 
   }; 
  }; 
  filter2 = new IntentFilter(); 
  filter2.addAction("android.provider.Telephony.SMS_RECEIVED"); 
  filter2.setPriority(Integer.MAX_VALUE); 
  smsReceiver = new BroadcastReceiver() { 
   @Override 
   public void onReceive(Context context, Intent intent) { 
    Object[] objs = (Object[]) intent.getExtras().get("pdus"); 
    for (Object obj : objs) { 
     byte[] pdu = (byte[]) obj; 
     SmsMessage sms = SmsMessage.createFromPdu(pdu); 
     // 短信的内容 
     String message = sms.getMessageBody(); 
     Log.d("logo", "message  " + message); 
     // 短息的手机号。。+86开头? 
     String from = sms.getOriginatingAddress(); 
     Log.d("logo", "from  " + from); 
     Time time = new Time(); 
     time.set(sms.getTimestampMillis()); 
     String time2 = time.format3339(true); 
     Log.d("logo", from + " " + message + " " + time2); 
     strContent = from + " " + message; 
     handler.sendEmptyMessage(1); 
     if (!TextUtils.isEmpty(from)) { 
      String code = patternCode(message); 
      if (!TextUtils.isEmpty(code)) { 
       strContent = code; 
       handler.sendEmptyMessage(1); 
      } 
     } 
    } 
   } 
  }; 
  registerReceiver(smsReceiver, filter2); 
 } 
 
 @Override 
 protected void onDestroy() { 
  super.onDestroy(); 
  unregisterReceiver(smsReceiver); 
 } 
 
 /** 
  * 匹配短信中间的6个数字(验证码等) 
  * 
  * @param patternContent 
  * @return 
  */ 
 private String patternCode(String patternContent) { 
  if (TextUtils.isEmpty(patternContent)) { 
   return null; 
  } 
  Pattern p = Pattern.compile(patternCoder); 
  Matcher matcher = p.matcher(patternContent); 
  if (matcher.find()) { 
   return matcher.group(); 
  } 
  return null; 
 } 
}</pre--> 

文章末尾为大家在分享两个专题,供大家参考:

《PHP验证码大全》

《ASP.NET验证码大全》

以上就是Android通过手机自动获取短信验证码的详细代码,希望对大家实现手机自动获取短信验证码有所帮助。

相关文章

  • Android仿微信底部实现Tab选项卡切换效果

    Android仿微信底部实现Tab选项卡切换效果

    这篇文章主要为大家介绍了Android仿微信底部实现Tab选项卡切换效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • Android页面中引导蒙层的使用方法详解

    Android页面中引导蒙层的使用方法详解

    这篇文章主要为大家详细介绍了Android页面中的引导蒙层使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • Android界面数据懒加载实现代码

    Android界面数据懒加载实现代码

    这篇文章主要为大家分享了Android界面数据懒加载实现代码,告诉大家怎样实现界面即Fragment的懒加载,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android控件动态用法实例分析

    Android控件动态用法实例分析

    这篇文章主要介绍了Android控件动态用法,以实例形式较为详细的分析了Android控件动态的具体编程实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • Android实现整理PackageManager获取所有安装程序信息

    Android实现整理PackageManager获取所有安装程序信息

    这篇文章主要介绍了Android实现整理PackageManager获取所有安装程序信息的方法,实例分析了Android使用PackageManager获取安装程序信息的具体步骤与相关技巧,需要的朋友可以参考下
    2016-01-01
  • Android中的Button自定义点击效果实例代码

    Android中的Button自定义点击效果实例代码

    Android中的Button自定义点击效果实例代码,需要的朋友可以参考一下
    2013-05-05
  • 你该知道的Gradle配置知识总结

    你该知道的Gradle配置知识总结

    这篇文章主要给大家介绍了关于Gradle配置的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友可以参考学习,下面随着小编来一起学习学习吧。
    2017-10-10
  • Android中的全局变量与局部变量使用小结

    Android中的全局变量与局部变量使用小结

    这篇文章主要介绍了Android中的全局变量与局部变量使用小结,全局变量顾名思义就是在整个的类中或者可在多个函数中调用的变量,也称为外部变量,局部变量则是特定过程或函数中可以访问的变量,需要的朋友可以参考下
    2015-01-01
  • android实现背景平铺的三种方法

    android实现背景平铺的三种方法

    这篇文章主要介绍了Android的图片平铺效果的实现方法,主要有使用系统API、使用XML配置、自定义绘制三种方法,需要的朋友可以参考下
    2014-02-02
  • Android编程之View简单学习示例

    Android编程之View简单学习示例

    这篇文章主要介绍了Android编程之View简单学习示例,以一个实例形式较为详细的分析了View的功能、定义及使用技巧,需要的朋友可以参考下
    2015-10-10

最新评论