欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android 利用第三方Mob,实现短信验证码

程序员文章站 2022-03-09 22:36:21
现在,在使用各种app中都有注册功能,注册中跟我们通常会往手机中发送验证码,而通过mob集合可以快速实现该功能,下面来简单介绍如何使用该功能来发送手机验证码。 第一步:在当前工程的gradle中的?...

现在,在使用各种app中都有注册功能,注册中跟我们通常会往手机中发送验证码,而通过mob集合可以快速实现该功能,下面来简单介绍如何使用该功能来发送手机验证码。

第一步:在当前工程的gradle中的?repositories ?中添加?

maven {
            url "https://mvn.mob.com/android"
        }

同时在deoendences中添加

 classpath 'com.mob.sdk:mobsdk:+'

第二步:在项目的gradle中添加

mobsdk {
    appkey "d580ad56b4b5"
    appsecret "7fcae59a62342e7e2759e9e397c82bdd"

    smssdk {}

}

注:柱几行代码应该和android目录平级

 

第三部,引用mob插件:

apply plugin: 'com.mob.sdk'

此时mob已经与你的项目产生了关联。

但有时可能会报编译时异常,此时只需要在androidmanifest文件中加上这两句代码试试:manifest 根目录:

xmlns:tools="https://schemas.android.com/tools"?
application标签下?
tools:replace="android:name"

就可以解决.。

 

然后就是在java代码中添加代码,需要注意的是,发送验证码有一下两种方法:第一种:已有界面接口完成:

 

public void sendcode(context context) {
    registerpage page = new registerpage();
    page.setregistercallback(new eventhandler() {
        public void afterevent(int event, int result, object data) {
            if (result == smssdk.result_complete) {
                // 处理成功的结果
                hashmap phonemap = (hashmap) data;
                string country = (string) phonemap.get("country"); // 国家代码,如“86”
                string phone = (string) phonemap.get("phone"); // 手机号码,如“13800138000”
                // todo 利用国家代码和手机号码进行后续的操作
            } else{
                // todo 处理错误的结果
            }
        }
    });
    page.show(context);

}

//第二种:以*面接口完成:

// 请求验证码,其中country表示国家代码,如“86”;phone表示手机号码,如“13800138000”
public void sendcode(string country, string phone) {
    // 注册一个事件回调,用于处理发送验证码操作的结果
    smssdk.registereventhandler(new eventhandler() {
        public void afterevent(int event, int result, object data) {
            if (result == smssdk.result_complete) {
               // todo 处理成功得到验证码的结果
               // 请注意,此时只是完成了发送验证码的请求,验证码短信还需要几秒钟之后才送达
            } else{
                // todo 处理错误的结果
            }
        
        }
    });
    // 触发操作
    smssdk.getverificationcode(country, phone);
}
 
// 提交验证码,其中的code表示验证码,如“1357”
public void submitcode(string country, string phone, string code) {
    // 注册一个事件回调,用于处理提交验证码操作的结果
    smssdk.registereventhandler(new eventhandler() {
        public void afterevent(int event, int result, object data) {
            if (result == smssdk.result_complete) {
                // todo 处理验证成功的结果
            } else{
                // todo 处理错误的结果
            }
        }
    });
    // 触发操作
    smssdk.submitverificationcode(country, phone, code);
}
 
    protected void ondestroy() {
        super.ondestroy();
        //用完回调要注销掉,否则可能会出现内存泄露
        smssdk.unregisteralleventhandler();

    };

此时,已经实现了一个简单的发送验证码的功能了,小伙伴们快去试试吧!