Android自动获取输入短信验证码库AutoVerifyCode详解

发布时间 - 2026-01-11 02:29:24    点击率:

一、简介

Android的短信验证码自动输入库,内嵌自动申请权限,兼容性高,支持多项配置。

短信验证码长度
验证码类型(大写字母、小写字母、大小写字母、数字、数字字母)
短信内容过滤
发送者号码过滤
短信权限回调,失败重新操作等等
消息回调,可自行处理

Github地址: https://github.com/tpnet/AutoVerifyCode

二、使用

2.1 最简单的使用

适用在验证码为数字,而且验证码为4-6位。

AutoVerifyCode.getInstance()
    .with(MainActivity.this)
    .into(R.id.et_code) //要输入的编辑框
    .start();  //开始

2.2 多种属性配置

/**
  * 多种属性设置
  * @param v
  */
 public void complex(View v){
  AutoVerifyCodeConfig config = new AutoVerifyCodeConfig.Builder()
    .codeLength(6) // 验证码长度
    .smsCodeType(AutoVerifyCodeConfig.CODE_TYPE_NUMBER) //验证码类型
    .smsSenderStart("650") // 验证码发送者号码的前几位数字
    .smsSender("6505551212") // 验证码发送者的号码
    .smsBodyStartWith("【守护APP】") // 设置验证码短信开头文字,固定可以设置
    .smsBodyContains("重置") // 设置验证码短信内容包含文字,每个功能包含不一样,例如注册、重置密码
    .build();

  AutoVerifyCode.getInstance()
    .with(MainActivity.this)
    .config(config) //验证码选项配置
    .smsCallback(new MessageCallBack()) //短信内容回调
    .permissionCallback(new PerCallBack()) //短信短信回调
    .inputCompleteCallback(new OnInputCompleteListener() {
     @Override
     public void onInputComplete(String text) {
      //自动输入完毕,可以进行登录等等操作
      Log.e("@@","自动输入验证码完成"+text);

     }
    })
    .into((EditText) findViewById(R.id.et_code)) //要输入的View
    .start();  //开始
 }



 /**
  * 获取短信回调接口
  * 
  */
 class MessageCallBack extends SmsCallBack{
  @Override
  public void onGetCode(String code) {
   Log.e("@@","验证码为:"+code);
  }

  @Override
  public void onGetMessage(String mess) {
   Log.e("@@","短信内容为:"+mess);

  }

  @Override
  public void onGetSender(@Nullable String phoneNumber) {
   Log.e("@@","发送者为:"+phoneNumber);

  }
 }


 class PerCallBack implements PermissionCallBack{

  @Override
  public void onSuccess() {
   //获取短信权限成功
   Log.e("@@","获取短信权限成功:");
  }

  @Override
  public boolean onFail() {
   //获取短信权限失败
   Toast.makeText(MainActivity.this,"拒绝获取短信权限",Toast.LENGTH_SHORT).show();
   Log.e("@@","获取短信权限失败,返回真则重试获取权限,或者你自己手动获取了之后再返回真也行");

   return false;
  }
 }

2.3 释放

因为一般只用一次,所以在页面销毁的地方释放内存。

@Override
 protected void onDestroy() {
  super.onDestroy();
  //因为一般只用一次,所以页面销毁就释放。
  AutoVerifyCode.getInstance().release();
 }


三、原理

主要利用两种方法获取短信

短信数据库监听: 见SmsObserver
短信广播监听: 见SmsReceiver

然后利用Service实现这两种方法。注释都在代码上面了,挺简单的。 就不详细讲了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android短信验证码库  # Android短信验证码  # Android自动获取输入短信验证码  # Android用户输入自动提示控件AutoCompleteTextView使用方法  # Android AutoWrapTextView中英文排版问题的解决方法  # Android中使用 AutoCompleteTextView 实现手机号格式化附带清空历史的操作  # Android自动编辑文本框(AutoCompleteTextView)使用方法详解  # Android中AutoCompleteTextView自动提示  # Android仿新浪微博oauth2.0授权界面实现代码(2)  # android中AutoCompleteTextView的简单用法(实现搜索历史)  # Android仿百度谷歌搜索自动提示框AutoCompleteTextView简单应用示例  # 关于Android HTML5 audio autoplay无效问题的解决方案  # Android AutoCompleteTextView自动提示文本框实例代码  # Android App开发的自动化测试框架UI Automator使用教程  # Android中AutoCompleteTextView与TextWatcher结合小实例  # Android AutoValue使用和扩展库  # 验证码  # 回调  # 短信内容  # 都在  # 就不  # 两种  # 你自己  # 几位  # 多项  # 最简单  # 讲了  # 这两种  # 也行  # 大家多多  # 重试  # 内嵌  # 写字母  # 性高  # void  # public 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  如何做网站制作流程,*游戏网站怎么搭建?  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  如何快速搭建高效服务器建站系统?  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何在阿里云完成域名注册与建站?  Linux安全能力提升路径_长期防护思维说明【指导】  太平洋网站制作公司,网络用语太平洋是什么意思?  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  北京专业网站制作设计师招聘,北京白云观官方网站?  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  如何在万网ECS上快速搭建专属网站?  如何用5美元大硬盘VPS安全高效搭建个人网站?  微信公众帐号开发教程之图文消息全攻略  如何用腾讯建站主机快速创建免费网站?  高防服务器租用指南:配置选择与快速部署攻略  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  如何在万网自助建站平台快速创建网站?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  如何生成腾讯云建站专用兑换码?  如何在IIS中新建站点并配置端口与IP地址?  Android自定义控件实现温度旋转按钮效果  Laravel distinct去重查询_Laravel Eloquent去重方法  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  php打包exe后无法访问网络共享_共享权限设置方法【教程】  如何挑选优质建站一级代理提升网站排名?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  JavaScript模板引擎Template.js使用详解  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  js实现点击每个li节点,都弹出其文本值及修改  深圳网站制作培训,深圳哪些招聘网站比较好?  ,网页ppt怎么弄成自己的ppt?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  如何在阿里云部署织梦网站?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  个人网站制作流程图片大全,个人网站如何注销?  如何解决hover在ie6中的兼容性问题  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?