该类库的实现原理:《Android开发:实现APP自动填写注册验证码功能》。感兴趣的能够看下。 java
项目地址:github.com/xiong-it/Au…,欢迎star/fork,或者issue,pr。android
本文原创做者:MichaelX,我的掘金主页地址:juejin.im/user/56efe6…. 转载请注明来源git
update
2017.07.07 AuthCode版本已更新至v1.0.1,github readme已更新。github
在Android Studio打开你的app module中的build.gradle,添加依赖:api
dependencies {
...
compile 'tech.michaelx.authcode:authcode:1.0.1' // 添加依赖
...
}复制代码
若是没法下载上述依赖,能够打开你的项目根目录下的build.gradle,添加maven仓库地址app
allprojects {
repositories {
jcenter()
maven { url 'https://dl.bintray.com/xiong-it/AndroidRepo'} // 添加这行
}
}复制代码
AutoInputAuthCode是一个帮助Android开发者快速实现自动填写验证码的类库,客户端示例代码以下:maven
CodeConfig config = new CodeConfig.Builder()
.codeLength(4) // 设置验证码长度
.smsFromStart(133) // 设置验证码发送号码前几位数字
//.smsFrom(1690123456789) // 若是验证码发送号码固定,则能够设置验证码发送完整号码
.smsBodyStartWith("百度科技") // 设置验证码短信开头文字
.smsBodyContains("验证码") // 设置验证码短信内容包含文字
.build();
AuthCode.getInstance().with(context).config(config).into(EditText);
// 在Activity的onDestroy回调中调用该api手动释放内存
@Override
protected void onDestroy() {
super.onDestroy();
// 防止未读取到验证码致使内存泄露,手动回收内存
AuthCode.getInstance().onDestroy();
}复制代码
搞定,收工! ide
自动填写验证码须要读取短信权限,请在清单中添加权限:gradle
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>复制代码
因为读取短信在API 23(Android 6.0)上权限级别是dangerous。因此还须要动态申请权限,可是申请权限须要依赖于Activity或者Fragment中的onRequestPermissionsResult()回调,因此须要开发者本身实现。 ui
可参考AutoInputAuthCode中sample的代码。
另外,由于笔者使用的验证码过程当中只见过数字验证码,因此目前版本只支持数字验证码,不支持英文,和英文数字混合验证码。如过你们有必要,能够提issue或者留言,笔者考虑加上。
该库实现原理可阅读:《Android开发:实现APP自动填写注册验证码功能》
该库实际上被完成有一段时间了,一直在试着上传jcenter,有空把上传代码到jcenter总结下发出来,虽然上传jcenter在网上教程挺多的,可是不少都不够细节,容易误解,我就是被坑的一个。
祝你们撸码愉快!
项目地址:github.com/xiong-it/Au…,欢迎star/fork,或者issue,pr。