Android自动获取输入短信验证码库AutoVerifyCode详解
作者:tpnet
这篇文章主要为大家详细介绍了Android自动获取输入短信验证码库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
一、简介
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用户输入自动提示控件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使用和扩展库