现在,在使用各种APP中都有注册功能,注册中跟我们通常会往手机中发送验证码,而通过Mob集合可以快速实现该功能,
下面来简单介绍如何使用该功能来发送手机验证码。
第一步:在当前modul的gradle中添加
一、配置gradle(当前moduel中配置)
buildscript {
// 添加MobSDK的maven地址
repositories {
maven {
url "http://mvn.mob.com/android"
}
}
dependencies {
// 注册MobSDK
classpath 'com.mob.sdk:MobSDK:+'
}
}
注:柱几行代码应该在android目录下
二、在当前modul的gradle的最上面添加
// 添加插件
apply plugin: 'com.mob.sdk'
// 在MobSDK的扩展中注册SMSSDK的相关信息
MobSDK {
appKey "d580ad56b4b5"
appSecret "7fcae59a62342e7e2759e9e397c82bdd"
SMSSDK {}
}
三、在工程(不是model)gradle中配置
1.将以下代码放到buildscript-->repositories中,
maven {
url "http://mvn.mob.com/android"
}
2.将以下代码放到buildscript-->dependencies中,
classpath 'com.mob.sdk:MobSDK:+'
3.然后直接编译
此时Mob已经与你的项目产生了关联。
但有时可能会报编译时异常,此时只需要在androidmanifest文件中加上这两句代码试试:manifest 根目录:
xmlns:tools="http://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<String,Object> phoneMap = (HashMap<String, Object>) 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();
};
此时,已经实现了一个简单的发送验证码的功能了,小伙伴们快去试试吧!