一、简介

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() {@Overridepublic void onInputComplete(String text) {//自动输入完毕,可以进行登录等等操作Log.e("@@","自动输入验证码完成"+text);}}).into((EditText) findViewById(R.id.et_code))  //要输入的View.start();       //开始}/*** 获取短信回调接口* */class MessageCallBack extends SmsCallBack{@Overridepublic void onGetCode(String code) {Log.e("@@","验证码为:"+code);}@Overridepublic void onGetMessage(String mess) {Log.e("@@","短信内容为:"+mess);}@Overridepublic void onGetSender(@Nullable String phoneNumber) {Log.e("@@","发送者为:"+phoneNumber);}}class PerCallBack implements PermissionCallBack{@Overridepublic void onSuccess() {//获取短信权限成功Log.e("@@","获取短信权限成功:");}@Overridepublic boolean onFail() {//获取短信权限失败Toast.makeText(MainActivity.this,"拒绝获取短信权限",Toast.LENGTH_SHORT).show();Log.e("@@","获取短信权限失败,返回真则重试获取权限,或者你自己手动获取了之后再返回真也行");return false;}}

2.3 释放

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

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

三、原理

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

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

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

Android 自动获取输入短信验证码库AutoVerifyCode相关推荐

  1. python读取手机短信信息_python 自动获取手机短信验证码

    需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到): /***** ...... try { long ti ...

  2. python 自动获取手机短信验证码

    需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到): /***** ...... try { long ti ...

  3. java代码进行短信接收_自动化测试-自动获取手机短信验证码

    最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出 ...

  4. python自动读取短信_自动化测试-自动获取手机短信验证码

    最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出 ...

  5. 自动化软件测试 - 通过 Android Studio 开发 App 自动拦截读取短信验证码

        之前一期介绍了怎样通过 Python 的代码去获取短信验证码去进行软件测试,这一期将主要介绍 怎样 通过 Android Studio 开发 App 自动拦截读取短信验证码.     Andr ...

  6. atitit 破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结

    atitit.破解  拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结 1. 自动获取手机短信方式的原理 1 2. 调用api 1 3. ----核心代码 2 4.  ...

  7. h5 input type 属性为tel苹果系统可以直接获取数字短信验证码

    h5 input type 属性为tel苹果系统可以直接获取数字短信验证码,安卓不行 <input type="tel" placeholder="输入验证码&qu ...

  8. android手机获取系统短信sqlite数据库并查看内容

    一个朋友过来,准备玩玩Ta的android手机,给我之前还要拿回去看看,结果是ta把短信加密了(第三方短信),怕我知道ta的啥见不得人的秘密.o(∩_∩)o 哈哈.TA威胁我说加密了,看我怎么看.结果 ...

  9. html5页面发送短信验证码,H5实现APP“输入短信验证码”效果

    前言 曾经在浏览掘金文章时瞥到过有人分享类似的文章,大体思路上是用6个input来实现6个输入框,通过调整input的样式进而来实现这个输入短信验证码功能.刚好,最近有项目需要实现这样的验证码功能.↓ ...

最新文章

  1. mysql分页关键词_数据库分页关键字
  2. 本地环境和测试环境搭建
  3. MySQL笔记-免密码登录小技巧(运行参数填写skip-grant-tables)
  4. secret sharing;拉格朗日插值,shamir秘密分享,peterson秘密分享
  5. GIS的下个十年(Chuck Drinnan, principal, eWAM Associates)
  6. php排序算法算法,PHP排序算法之基数排序(Radix Sort)实例详解
  7. HDU 6044 Limited Permutation 读入挂+组合数学
  8. C# WebApi Xml序列化问题解决方法:“ObjectContent`1”类型未能序列化内容类型“application/xml;charset=utf-8“的响应正文。...
  9. 线程 daemon java user,Java线程_守护线程和用户线程
  10. Raki的读paper小记:Simplify the Usage of Lexicon in Chinese NER
  11. 计算机房空调设计标准,《数据中心制冷与空调设计标准》的要点
  12. 名编辑电子杂志大师教程 | 菜单设置
  13. 智工教育:公务员考试这些知识点你会背了吗?
  14. 十六进制转二进制(C代码)
  15. Unity3D Terrain 变成粉色(紫色/洋红色)解决方案!
  16. Server 2003无法访问共享。您可能没有权限使用网络资源
  17. [金工实习报告]金工实习基本方法,车工/焊接/钳工/铣工/铸造/安全生产/3D打印等
  18. 启用静态NVI的NAT的配置步骤及示例
  19. ssm+Vue计算机毕业设计医院人事及科室病区管理(程序+LW文档)
  20. 分享一个颜色渐变的网站

热门文章

  1. 【2/101】小朱的101次面试之不断试错
  2. [Python] selenium Timed out receiving message from renderer
  3. leetcode55java_Leetcode-957 N 天后的牢房 Java 详细注释
  4. win10电脑性能优化设置
  5. Random类模拟微信发红包
  6. 深度学习并未走进死胡同
  7. 计算机平面设计大师作品,「Adobe国际认证」再优秀的设计师,也无法避免的 9 个,平面设计错误...
  8. 18个Joomla教程和模板网站
  9. 高校招聘计算机考试真题,国家电网校园招聘计算机类考试专用题库真题
  10. Java Spring 工厂类 BeanFactoryAware基本使用 亲测