亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android自動獲取輸入短信驗證碼庫AutoVerifyCode詳解

發布時間:2020-08-23 15:33:50 來源:腳本之家 閱讀:584 作者:tpnet 欄目:移動開發

一、簡介

Android的短信驗證碼自動輸入庫,內嵌自動申請權限,兼容性高,支持多項配置。

短信驗證碼長度
驗證碼類型(大寫字母、小寫字母、大小寫字母、數字、數字字母)
短信內容過濾
發送者號碼過濾
短信權限回調,失敗重新操作等等
消息回調,可自行處理

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

Android自動獲取輸入短信驗證碼庫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實現這兩種方法。注釋都在代碼上面了,挺簡單的。 就不詳細講了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广东省| 弋阳县| 新河县| 辽宁省| 隆尧县| 民乐县| 吉安县| 大关县| 神农架林区| 朝阳区| 科尔| 镇江市| 资中县| 怀来县| 哈尔滨市| 宜兰市| 桦南县| 长兴县| 雅江县| 疏勒县| 曲麻莱县| 台东市| 板桥市| 松桃| 尉氏县| 乐山市| 惠来县| 松滋市| 富宁县| 绥阳县| 芜湖市| 灌云县| 民勤县| 龙岩市| 得荣县| 资讯| 侯马市| 田林县| 濮阳县| 灌阳县| 张家港市|