广告
返回顶部
首页 > 资讯 > 移动开发 >Android如何通过手机自动获取短信验证码
  • 952
分享到

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

自动验证码短信验证码手机Android 2022-06-06 08:06:27 952人浏览 安东尼
摘要

本文实例为大家分享了Android实现手机自动获取短信验证码功能,供大家参考,具体内容如下 1、短信监听广播 2、读取短信内容 3、截取短信内容【可以 reg截取】 4、填写至

本文实例为大家分享了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); 
 } 
  
 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开发工程中集成mob短信验证码功能的方法Android开发中通过手机号+短信验证码登录的实例代码Android实现短信验证码获取自动填写功能(详细版)Android获取和读取短信验证码的实现方法Android实现自动提取短信验证码功能Android实现短信验证码自动填写功能Android获取短信验证码的实现方法Android用 Mob 实现发送短信验证码实例Android中用Bmob实现短信验证码功能的方法详解Android短信验证服务分享


--结束END--

本文标题: Android如何通过手机自动获取短信验证码

本文链接: https://www.lsjlt.com/news/25536.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作