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

 更新时间:2017年07月24日 11:42:18   作者: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实现这两种方法。注释都在代码上面了,挺简单的。 就不详细讲了。

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

相关文章

  • RecyclerView实现查看更多及收起

    RecyclerView实现查看更多及收起

    这篇文章主要为大家详细介绍了RecyclerView实现查看更多及收起,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Android 显示和隐藏输入法实现代码

    Android 显示和隐藏输入法实现代码

    本文所要介绍的这个方法可以转换软件输入法在窗体中的显示状态,具体实现代码如下,感兴趣的你可以参考下哈,希望可以帮助到你
    2013-03-03
  • Android12 蓝牙适配的实现步骤

    Android12 蓝牙适配的实现步骤

    本文主要介绍了Android12 蓝牙适配的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Android开发之DOM解析xml文件的方法

    Android开发之DOM解析xml文件的方法

    这篇文章主要介绍了Android开发之DOM解析xml文件的方法,涉及Android中DOM工厂对象的创建,文档的获取及节点的遍历技巧,需要的朋友可以参考下
    2015-12-12
  • Android自定义图片选择器简单版

    Android自定义图片选择器简单版

    这篇文章主要为大家详细介绍了Android自定义图片选择器简单版,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 微信公众平台开发接口PHP SDK完整版

    微信公众平台开发接口PHP SDK完整版

    官方提供的SDK只有一个文本消息功能,我们将所有消息的消息类型及事件响应都整理了进来,并且加入日志记录
    2014-05-05
  • android开发修改状态栏背景色和图标颜色的示例

    android开发修改状态栏背景色和图标颜色的示例

    本篇文章主要介绍了android开发修改状态栏背景色和图标颜色的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Android中使用七牛云存储进行图片上传下载的实例代码

    Android中使用七牛云存储进行图片上传下载的实例代码

    这篇文章主要介绍了Android中使用七牛云存储进行图片上传下载的实例代码的相关资料,需要的朋友可以参考下
    2016-08-08
  • Android EditText每4位自动添加空格效果

    Android EditText每4位自动添加空格效果

    这篇文章主要给大家介绍了关于Android EditText每4位自动添加空格效果的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用EditText具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 详解Android文件描述符

    详解Android文件描述符

    这篇文章主要介绍了详解Android 文件描述符,对Android、Linux源码感兴趣的同学,要着重看一下
    2021-04-04

最新评论