欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android自動(dòng)獲取輸入短信驗(yàn)證碼庫AutoVerifyCode詳解

 更新時(shí)間:2017年07月24日 11:42:18   作者:tpnet  
這篇文章主要為大家詳細(xì)介紹了Android自動(dòng)獲取輸入短信驗(yàn)證碼庫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一、簡介

Android的短信驗(yàn)證碼自動(dòng)輸入庫,內(nèi)嵌自動(dòng)申請權(quán)限,兼容性高,支持多項(xiàng)配置。

短信驗(yàn)證碼長度
驗(yàn)證碼類型(大寫字母、小寫字母、大小寫字母、數(shù)字、數(shù)字字母)
短信內(nèi)容過濾
發(fā)送者號碼過濾
短信權(quán)限回調(diào),失敗重新操作等等
消息回調(diào),可自行處理

Github地址: https://github.com/tpnet/AutoVerifyCode

二、使用

2.1 最簡單的使用

適用在驗(yàn)證碼為數(shù)字,而且驗(yàn)證碼為4-6位。

AutoVerifyCode.getInstance()
    .with(MainActivity.this)
    .into(R.id.et_code) //要輸入的編輯框
    .start();  //開始

2.2 多種屬性配置

/**
  * 多種屬性設(shè)置
  * @param v
  */
 public void complex(View v){
  AutoVerifyCodeConfig config = new AutoVerifyCodeConfig.Builder()
    .codeLength(6) // 驗(yàn)證碼長度
    .smsCodeType(AutoVerifyCodeConfig.CODE_TYPE_NUMBER) //驗(yàn)證碼類型
    .smsSenderStart("650") // 驗(yàn)證碼發(fā)送者號碼的前幾位數(shù)字
    .smsSender("6505551212") // 驗(yàn)證碼發(fā)送者的號碼
    .smsBodyStartWith("【守護(hù)APP】") // 設(shè)置驗(yàn)證碼短信開頭文字,固定可以設(shè)置
    .smsBodyContains("重置") // 設(shè)置驗(yàn)證碼短信內(nèi)容包含文字,每個(gè)功能包含不一樣,例如注冊、重置密碼
    .build();

  AutoVerifyCode.getInstance()
    .with(MainActivity.this)
    .config(config) //驗(yàn)證碼選項(xiàng)配置
    .smsCallback(new MessageCallBack()) //短信內(nèi)容回調(diào)
    .permissionCallback(new PerCallBack()) //短信短信回調(diào)
    .inputCompleteCallback(new OnInputCompleteListener() {
     @Override
     public void onInputComplete(String text) {
      //自動(dòng)輸入完畢,可以進(jìn)行登錄等等操作
      Log.e("@@","自動(dòng)輸入驗(yàn)證碼完成"+text);

     }
    })
    .into((EditText) findViewById(R.id.et_code)) //要輸入的View
    .start();  //開始
 }



 /**
  * 獲取短信回調(diào)接口
  * 
  */
 class MessageCallBack extends SmsCallBack{
  @Override
  public void onGetCode(String code) {
   Log.e("@@","驗(yàn)證碼為:"+code);
  }

  @Override
  public void onGetMessage(String mess) {
   Log.e("@@","短信內(nèi)容為:"+mess);

  }

  @Override
  public void onGetSender(@Nullable String phoneNumber) {
   Log.e("@@","發(fā)送者為:"+phoneNumber);

  }
 }


 class PerCallBack implements PermissionCallBack{

  @Override
  public void onSuccess() {
   //獲取短信權(quán)限成功
   Log.e("@@","獲取短信權(quán)限成功:");
  }

  @Override
  public boolean onFail() {
   //獲取短信權(quán)限失敗
   Toast.makeText(MainActivity.this,"拒絕獲取短信權(quán)限",Toast.LENGTH_SHORT).show();
   Log.e("@@","獲取短信權(quán)限失敗,返回真則重試獲取權(quán)限,或者你自己手動(dòng)獲取了之后再返回真也行");

   return false;
  }
 }

2.3 釋放

因?yàn)橐话阒挥靡淮?所以在頁面銷毀的地方釋放內(nèi)存。

@Override
 protected void onDestroy() {
  super.onDestroy();
  //因?yàn)橐话阒挥靡淮?,所以頁面銷毀就釋放。
  AutoVerifyCode.getInstance().release();
 }


三、原理

主要利用兩種方法獲取短信

短信數(shù)據(jù)庫監(jiān)聽: 見SmsObserver
短信廣播監(jiān)聽: 見SmsReceiver

然后利用Service實(shí)現(xiàn)這兩種方法。注釋都在代碼上面了,挺簡單的。 就不詳細(xì)講了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論