美文网首页
Android Mob短信验证

Android Mob短信验证

作者: 乘瓠散人 | 来源:发表于2018-08-23 20:47 被阅读49次
  1. 首先到Mon(http://www.mob.com/)官网上注册登录,添加一个SMSSDK应用,获取App Key和App Secret。
    image.png
  1. 快速集成配置
    打开项目根目录 Project 下的build.gradle文件,添加如下配置:


    image.png

在app模块的build.gradle中,添加MobSDK插件和扩展:

// 添加插件
apply plugin: 'com.mob.sdk'
 
// 在MobSDK的扩展中注册SMSSDK的相关信息
MobSDK {
    appKey "d580ad56b4b5"
    appSecret "7fcae59a62342e7e2759e9e397c82bdd"
    SMSSDK {}
}

注意项目的minSdkVersion最小要改为15,否则build过程会报错。

  1. 初始化MobSDK
    如在RegisterActivity的onCreate()方法中初始化:
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.register);

        //在onCreate方法初始化SDK
        MobSDK.init(RegisterActivity.this);

        initView();
        initEvent();
        initSMS();
    }
  1. 注册回调监听
 //注册回调监听,放到发送和验证前注册,注意这里是子线程需要传到主线程中去操作后续提示
    private void initSMS() {
        eh = new EventHandler(){
            @Override
            public void afterEvent(int event, int result, Object data) {
                Message msg = new Message();
                msg.arg1 = event;
                msg.arg2 = result;
                msg.obj = data;
                handler.sendMessage(msg);
            }
        };

        SMSSDK.registerEventHandler(eh); //注册短信回调
    }
  1. 处理点击事件
@Override
    public void onClick(View v) {
        String phoneNum = phone.getText().toString().trim();

        switch(v.getId()){
            case R.id.register_get_code:
                if(TextUtils.isEmpty(phoneNum)){
                    Toast.makeText(this,"手机号码不能为空",Toast.LENGTH_SHORT).show();
                }else{
                    if(checkTel(phoneNum)){
                        //调用发送短信的接口
                        //发送成功后回调event == SMSSDK.EVENT_GET_VERIFICATION_CODE
                        SMSSDK.getVerificationCode("86",phoneNum);

                        getcode.setClickable(false);
                        //开始倒计时
                        new Thread(new Runnable() {
                            @Override
                            public void run() {
                                for(; i>0; i--){
                                    handler.sendEmptyMessage(-1);
                                    try{
                                        Thread.sleep(1000);  //1s
                                    } catch (InterruptedException e) {
                                        e.printStackTrace();
                                    }
                                }
                                //倒计时结束后执行
                                handler.sendEmptyMessage(-2);
                            }
                        }).start();
                    }else{
                        Toast.makeText(this,"请输入正确的手机号码",Toast.LENGTH_SHORT).show();
                    }
                }
                break;
            case R.id.register:
                String codeNum = code.getText().toString().trim();
                if(TextUtils.isEmpty(phoneNum)){
                    Toast.makeText(this,"手机号码不能为空",Toast.LENGTH_SHORT).show();
                }else if(TextUtils.isEmpty(codeNum)){
                    Toast.makeText(this,"验证码不能为空",Toast.LENGTH_SHORT).show();
                }else{
                    if(checkTel(phoneNum)){
                        //调用验证码验证接口
                        //成功后回调event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE
                        SMSSDK.submitVerificationCode("86",phoneNum,codeNum);

                    }else{
                        Toast.makeText(this,"请输入正确的手机号码",Toast.LENGTH_SHORT).show();
                    }

                }
                break;
            default:
                break;
        }
    }

 //正则匹配手机号码
    public boolean checkTel(String tel){
        Pattern p = Pattern.compile("^[1][3|4|5|7|8][0-9]{9}$");
        Matcher matcher = p.matcher(tel);
        return matcher.matches();
    }

对事件的处理在主线程的Handler中写。

  1. 销毁监听接口
 @Override
    protected void onDestroy() {
        super.onDestroy();
        //在完成短信验证之后,需要销毁回调监听接口
        SMSSDK.unregisterAllEventHandler();
    }

相关文章

  • Android Mob短信验证

    首先到Mon(http://www.mob.com/)官网上注册登录,添加一个SMSSDK应用,获取App Key...

  • 【Android】Mob短信验证

    在用户注册的时候,短信验证码想必是不可缺少的一个环节,这里给大家介绍一个免费的第三方短信验证SDK——Mob 想要...

  • 短信验证MOb

    首先,到mob开发平台 http://www.mob.com/#/ ,注册账 然后,点击SDK下载,点击SMS F...

  • 短信验证(Mob)

    在做项目的时候经常会用到短信验证方面的功能,本章就介绍一下Mob平台的短信验证:首先,[Mob] http://w...

  • 短信验证(Mob)

    在做项目的时候经常会用到短信验证方面的功能,本章就介绍一下Mob平台的短信验证: 首先,[Mob]http://w...

  • Android短信验证码_Mob

    功能描述: 用户注册账号用户填写手机号,点击获取验证码;用户手机会收到一条短信,填入短信内数字后可提交注册。 服务...

  • 使用Mob进行短信验证码发送

    首先,很多第三方短信验证码都可以,为什么我要选择mob的呢?因为mob的短信验证码是完全免费mob的官网:http...

  • 短信验证

    1.介绍 通过mob平台来做短信验证。到mob平台进行注册,下载 SMS For iOS 即可。根据mob平台提供...

  • Mob免费短信验证

    1.导入SDK以及类库

    ### libz.dyliblibicucore.dylibMessage...

  • MOB短信验证码

    首先,到mob开发平台 http://www.mob.com/#/ ,注册账号 然后,点击SDK下载,点击SMS ...

网友评论

      本文标题:Android Mob短信验证

      本文链接:https://www.haomeiwen.com/subject/qbamiftx.html