Android 自动获取输入短信验证码库AutoVerifyCode
一、简介
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相关推荐
- python读取手机短信信息_python 自动获取手机短信验证码
需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到): /***** ...... try { long ti ...
- python 自动获取手机短信验证码
需要一个有权限的 APK 在手机实时存储短信到手机内存 /sdcard/smslog.txt 里(外部SD卡也可以知道能通过adb命令访问到): /***** ...... try { long ti ...
- java代码进行短信接收_自动化测试-自动获取手机短信验证码
最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出 ...
- python自动读取短信_自动化测试-自动获取手机短信验证码
最近在做生产环境自动化测试,碰到一个难题就是短信验证码的获取,生产环境短信验证码是真实的,不能采用测试环境将短信验证码写成固定的方法解决,我的思路是:做一个apk小程序,将手机上的短信验证码实时读取出 ...
- 自动化软件测试 - 通过 Android Studio 开发 App 自动拦截读取短信验证码
之前一期介绍了怎样通过 Python 的代码去获取短信验证码去进行软件测试,这一期将主要介绍 怎样 通过 Android Studio 开发 App 自动拦截读取短信验证码. Andr ...
- atitit 破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结
atitit.破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结 1. 自动获取手机短信方式的原理 1 2. 调用api 1 3. ----核心代码 2 4. ...
- h5 input type 属性为tel苹果系统可以直接获取数字短信验证码
h5 input type 属性为tel苹果系统可以直接获取数字短信验证码,安卓不行 <input type="tel" placeholder="输入验证码&qu ...
- android手机获取系统短信sqlite数据库并查看内容
一个朋友过来,准备玩玩Ta的android手机,给我之前还要拿回去看看,结果是ta把短信加密了(第三方短信),怕我知道ta的啥见不得人的秘密.o(∩_∩)o 哈哈.TA威胁我说加密了,看我怎么看.结果 ...
- html5页面发送短信验证码,H5实现APP“输入短信验证码”效果
前言 曾经在浏览掘金文章时瞥到过有人分享类似的文章,大体思路上是用6个input来实现6个输入框,通过调整input的样式进而来实现这个输入短信验证码功能.刚好,最近有项目需要实现这样的验证码功能.↓ ...
最新文章
- mysql分页关键词_数据库分页关键字
- 本地环境和测试环境搭建
- MySQL笔记-免密码登录小技巧(运行参数填写skip-grant-tables)
- secret sharing;拉格朗日插值,shamir秘密分享,peterson秘密分享
- GIS的下个十年(Chuck Drinnan, principal, eWAM Associates)
- php排序算法算法,PHP排序算法之基数排序(Radix Sort)实例详解
- HDU 6044 Limited Permutation 读入挂+组合数学
- C# WebApi Xml序列化问题解决方法:“ObjectContent`1”类型未能序列化内容类型“application/xml;charset=utf-8“的响应正文。...
- 线程 daemon java user,Java线程_守护线程和用户线程
- Raki的读paper小记:Simplify the Usage of Lexicon in Chinese NER
- 计算机房空调设计标准,《数据中心制冷与空调设计标准》的要点
- 名编辑电子杂志大师教程 | 菜单设置
- 智工教育:公务员考试这些知识点你会背了吗?
- 十六进制转二进制(C代码)
- Unity3D Terrain 变成粉色(紫色/洋红色)解决方案!
- Server 2003无法访问共享。您可能没有权限使用网络资源
- [金工实习报告]金工实习基本方法,车工/焊接/钳工/铣工/铸造/安全生产/3D打印等
- 启用静态NVI的NAT的配置步骤及示例
- ssm+Vue计算机毕业设计医院人事及科室病区管理(程序+LW文档)
- 分享一个颜色渐变的网站
热门文章
- 【2/101】小朱的101次面试之不断试错
- [Python] selenium Timed out receiving message from renderer
- leetcode55java_Leetcode-957 N 天后的牢房 Java 详细注释
- win10电脑性能优化设置
- Random类模拟微信发红包
- 深度学习并未走进死胡同
- 计算机平面设计大师作品,「Adobe国际认证」再优秀的设计师,也无法避免的 9 个,平面设计错误...
- 18个Joomla教程和模板网站
- 高校招聘计算机考试真题,国家电网校园招聘计算机类考试专用题库真题
- Java Spring 工厂类 BeanFactoryAware基本使用 亲测