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

溫馨提示×

溫馨提示×

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

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

Android中怎么實現短信驗證服務

發布時間:2021-06-09 17:57:50 來源:億速云 閱讀:133 作者:Leah 欄目:移動開發

今天就跟大家聊聊有關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

沧源| 宜都市| 西平县| 航空| 防城港市| 云南省| 彰化市| 介休市| 金寨县| 中山市| 互助| 新巴尔虎右旗| 深水埗区| 定远县| 麻栗坡县| 满洲里市| 通渭县| 额济纳旗| 邵东县| 都兰县| 龙井市| 临夏县| 隆子县| 金沙县| 堆龙德庆县| 满城县| 连江县| 辽阳市| 温宿县| 扎囊县| 招远市| 青阳县| 秦皇岛市| 原平市| 麻栗坡县| 衡阳市| 吴忠市| 尚志市| 平果县| 油尖旺区| 昌乐县|