栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android短信验证服务分享

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android短信验证服务分享

本文实例为大家分享了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);
  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/154775.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号