您好,登錄后才能下訂單哦!
一、簡介
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實現這兩種方法。注釋都在代碼上面了,挺簡單的。 就不詳細講了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。