中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Android中如何實現短信驗證服務

發布時間:2022-04-18 14:17:59 來源:億速云 閱讀:121 作者:iii 欄目:開發技術

今天小編給大家分享一下Android中如何實現短信驗證服務的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

具體代碼如下

package com.skiers.demo_learn;

import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import com.mob.MobSDK;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;

public class ThridActivity extends AppCompatActivity {

  EditText editText;
  TextView textView;
  EditText editText1;

  Handler handler;

  EventHandler eventHandler = null;

  @Override
  protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_third);
    initView();
    initEvent();

  }


  private void initView() {
    MobSDK.init(this);
    editText = findViewById(R.id.editText);
    textView = findViewById(R.id.textView6);
    editText1 = findViewById(R.id.editText1);


    SMSSDK.setAskPermisionOnReadContact(false);
    eventHandler = new EventHandler() {

      public void beforeEvent(int var1, Object var2) {
        System.out.println("beforeEvent + =================================");
        System.out.println(var1);
        System.out.println(var2);

      }

      public void afterEvent(int event, int result, Object data) {
        System.out.println("afterEvent + =================================");
        // afterEvent會在子線程被調用,因此如果后續有UI相關操作,需要將數據發送到UI線程
        Message msg = new Message();
        msg.arg1 = event;
        msg.arg2 = result;
        msg.obj = data;
        getHandler().sendMessage(msg);
        System.out.println("afterEventEND + =================================");
        System.out.println(data);
      }

      public void onRegister() {
        System.out.println("onRegister + =================================");
      }

      public void onUnregister() {
        System.out.println("onUnregister + =================================");
      }

    };

    // 注冊一個事件回調,用于處理SMSSDK接口請求的結果
    SMSSDK.registerEventHandler(eventHandler);

  }

  private void initEvent() {

    // 請求驗證碼
    findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        getHandler().sendEmptyMessage(-1);
        String content = editText.getText().toString();

        System.out.println(content + "----------------------------edit Text");

        // 請求驗證碼,其中country表示國家代碼,如“86”;phone表示手機號碼,如“13800138000”
        SMSSDK.getVerificationCode("86", content);
      }
    });


    // 提交驗證碼
    findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {

      @Override
      public void onClick(View v) {

        String content = editText1.getText().toString();
        System.out.println(content + "----------------------------edit Text");
        // 提交驗證碼,其中的code表示驗證碼,如“1357”
        SMSSDK.submitVerificationCode("86", "18079919252", content);
      }
    });
  }


  //處理數據 驗證碼,手機號 ---------主線程 ----可以Handler跟新視圖,數據處理類
  private Handler getHandler() {

    if (handler == null) {

      handler = new Handler(Looper.getMainLooper(), new Handler.Callback() {
        @Override
        public boolean handleMessage(Message msg) {
          int event = msg.arg1;
          int result = msg.arg2;
          Object data = msg.obj;
          if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {
            if (result == SMSSDK.RESULT_COMPLETE) {
              System.out.println("驗證碼已發送,注意查收-----------------==================================");
              // TODO 處理成功得到驗證碼的結果
              // 請注意,此時只是完成了發送驗證碼的請求,驗證碼短信還需要幾秒鐘之后才送達
            } else {
              System.out.println("驗證碼發送失敗-----------------==================================");
              // TODO 處理錯誤的結果
              ((Throwable) data).printStackTrace();
            }
          } else if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
            if (result == SMSSDK.RESULT_COMPLETE) {
              System.out.println("驗證碼通過驗證-----------------==================================");
              // TODO 處理驗證碼驗證通過的結果
            } else {

              System.out.println("驗證碼未通過驗證-----------------==================================");
              // TODO 處理錯誤的結果
              ((Throwable) data).printStackTrace();
              System.out.println("hello java ==================================");
            }
          }
          // TODO 其他接口的返回結果也類似,根據event判斷當前數據屬于哪個接口
          return false;
        }
      });
    }

    return handler;
  }


  // 使用完EventHandler需注銷,否則可能出現內存泄漏
  protected void onDestroy() {
    super.onDestroy();
    SMSSDK.unregisterEventHandler(eventHandler);
  }

}

以上就是“Android中如何實現短信驗證服務”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

安丘市| 壶关县| 诏安县| 德阳市| 罗平县| 丹江口市| 若羌县| 宁明县| 永定县| 东乡县| 枣庄市| 顺义区| 禹城市| 溆浦县| 水城县| 天柱县| 读书| 辽阳市| 瑞安市| 三江| 邵阳县| 扎赉特旗| 博白县| 禄丰县| 东莞市| 宁明县| 泰和县| 宁远县| 武邑县| 马尔康县| 西乌珠穆沁旗| 淳安县| 海宁市| 桃园县| 衡阳市| 河东区| 平顶山市| 疏勒县| 通州区| 桓仁| 静宁县|