短信验证看起来还是蛮有逼格的,而且针对于用户安全对有一定的保证,比如说每次登陆都是通过短信验证来进行登陆。
所以说学习短信验证还是挺重要的。不要用mob服务平台,很难用很难用,超级大坑,尽管看起来逼格比较高,但是二次开发并不方便,他给封装好了,然后我们如果想自定义界面特别麻烦,而且官方给的demo逻辑感觉也比较混乱,千万不要进坑。
相比较而言,还是这个bmob的短信服务比较容易,进入正题。
简要流程
申请bmob账号→新建应用→程序配置→代码编写
详细步骤
1)申请账号
www.bmob.cn
登录账号进入bmob后台后,点击后台界面左上角“创建应用”,在弹出框输入你应用的名称,然后确认,你就拥有了一个等待开发的应用。
获取应用密钥和下载SDK
选择你要开发的应用,点击该应用下方对应的“应用密钥”
在跳转页面,获取Application ID,此ID将会在初始化SDK中使用到。
2用androidstudio建立自己的工程
3配置(这个地方的最后一步可以仅仅导入我们所需要的sms包)
请按照如下两个步骤进行:
-
在
Project
的build.gradle
文件中添加Bmob的maven仓库地址
,示例如下:(注意文字说明部分):buildscript {
}
allprojects {
}
-
在
app
的build.gradle
文件中添加compile依赖文件
,示例如下:(注意文字说明部分):apply plugin: 'com.android.application'
android {
}
4)代码编写
bmob初始化
//bmob初始化
BmobSMS.initialize(MainActivity.this,"62f79064bc2e4d00c92b961e3045a835");
//接收验证码到手机
BmobSMS.requestSMSCode(mContext, phoneNum, "短信模板", new RequestSMSCodeListener() {
@Override
public void done(Integer integer, BmobException e) {
if(e==null){
new CountDownTimer(60000,1000){
@Override
public void onTick(long millisUntilFinished) {
btn_get.setText(millisUntilFinished / 1000 + "秒");
}
@Override
public void onFinish() {
btn_get.setClickable(true);
btn_get.setText("重新发送");
}
}.start();
Toast.makeText(mContext,"验证码发送成功,请尽快验证",Toast.LENGTH_SHORT).show();
}else{
Log.e(TAG+"btn_get",e.toString());
Toast.makeText(mContext,"验证码发送失败",Toast.LENGTH_SHORT).show();
}
}
});
//发送验证码给后台验证
BmobSMS.verifySmsCode(mContext, phoneNum, checkNum, new VerifySMSCodeListener() {
@Override
public void done(BmobException e) {
if(e==null){
Toast.makeText(mContext,"验证成功",Toast.LENGTH_LONG).show();
}else{
Log.e(TAG+"btn_send",e.toString());
Toast.makeText(mContext,"验证失败",Toast.LENGTH_LONG).show();
}
}
});
ok,具体的验证界面的格式自定义即可。
参考 http://blog.csdn.net/qiang_xi/article/details/47686311