mob如何接收手机短信验证码平台啊?

Android Studio使用Mob来获取手机验证码的源码
原创作品,允许转载,转载时请务必声明作者信息和本声明。
本人小白,那个大神看到有问题可指出,谢谢。。。
一:Android studio 搭配 Mobd的SDK的环境我整整搞了一个下午加晚上也没成功,上网找也不OK,最后实在不行跑去问了客服我才知道问题在哪里出错了!
就是我导入jar和aar包的问题上出错!弄这个验证码我才知道 还有aar的存在的。
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
*.aar:包含所有资源,class以及res资源文件全部包含
现在我把搭配的sdk(mod)错误都一一列举出来
1):先加入包
第一错误:
然后运行===》最后错误
第二个错误:然后又根据第一个查到 aar要添加这个
apply plugin: 'com.android.library'
显示的错误:
上网查到好像说:
apply plugin: 'com.android.application'
apply plugin: 'com.android.library'
这个两个会产生冲突, 那感情好我直接删掉 apply plugin: 'com.android.application' ,本来以为成功来着,但是还是出错
又上网查了一下 好像必须要有
apply plugin: 'com.android.application' ,那我之好把之前的加的给删掉
反正就是这个三个弄我好久好久。。。。
根据客服回答,我才弄懂,哦!原来这样的。。。。
好了,我的问题解决了
2):首先去mob的
1:如果想要实现手机验证码,那就必须要在官网注册一个账号啊。
2:注册好之后, 去后台申请 SSMSDK验证码哦(官网也有)
旧版后台入口:登入新版后台之后,页面右上角有“回到旧版”的按钮。如下图 :
新版后台如何创建应用获得AppKey:
登录后台之后,点击下图中的“添加应用”按钮,即会弹出创建新应用对话框。
请正确填写应用的名称,特别是用到短信验证码SDK的用户,此应用名称会显示在验证短信内容中。此应用名称可在左侧目录的“设置”中修 改(见图六)
新版后台如何添加产品:
填写应用名称保存成功后,会跳转到(图四)所示页面,根据自己的需求,点击左侧列表中相应SDK添加即可。
(如只创建了appkey,而没有添加任何一个SDK产品,则appkey无法正常使用)
同一个应用下添加多个SDK,则这些SDK将会使用同一个App Key和App Secret。
下图左侧列表中已添加的3个SDK产品,将会使用同一个App Key和App Secret。
(图五 -0)
下面(图五 -1) 是我的验证码情况, 根据自个需要什么就添加什么
(图五 -1)
新版后台如何查看和修改应用信息:点击下图中的“设置”即可查看和修改。
如何在新后台查看应用及数据:点击图中小三角按钮,
即可显示所有应用(包括之前在旧版后台创建的应用),点击相应的应用即可自由切换查看相应的数据。
3:配置Android studio环境
打开刚刚下载sdk文件夹找到SMSSDK把包放到libs
4:在AndroidManifest.xml添加权限
在Application节点下添加以下属性:
android:name="com.mob.MobApplication"
添加以下Activity:
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize"/&
在Application节点下添加以下meta-data:
&!-- 通过AndroidManifest配置AppKey和AppSecret,如果你选择通过代码配置,则不需要配置以下meta-data
&meta-dataandroid:name="Mob-AppKey"android:value="你的AppKey"/&
&meta-dataandroid:name="Mob-AppSecret"android:value="你的AppSecret"/&
如果选择通过代码配置,则不需要继承MobApplication,只要在使用SMSSDK之前,调用以下代码:
// 通过代码注册你的AppKey和AppSecret
MobSDK.init(context,"你的AppKey","你的AppSecret");
AndroidManifest.xml的代码
(CSDN的编译好像没有颜色,博客园的有,所以再博客园弄了,直接复制过来)
&?xml version="1.0" encoding="utf-8"?&
&manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="zhu.com.yzm4"&
&uses-permission android:name="android.permission.READ_CONTACTS" /&
&uses-permission android:name="android.permission.READ_PHONE_STATE" /&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&
&uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /&
&uses-permission android:name="android.permission.INTERNET" /&
&uses-permission android:name="android.permission.RECEIVE_SMS" /&
&uses-permission android:name="android.permission.READ_SMS" /&
&uses-permission android:name="android.permission.GET_TASKS" /&
&uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&
&application
android:name="com.mob.MobApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"&
&activity android:name=".MainActivity"&
&intent-filter&
&action android:name="android.intent.action.MAIN" /&
&category android:name="android.intent.category.LAUNCHER" /&
&/intent-filter&
&/activity&
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize"/&
&!-- 通过AndroidManifest配置AppKey和AppSecret,如果你选择通过代码配置,则不需要配置以下meta-data --&
&meta-data android:name="Mob-AppKey" android:value="23e5aca8caef0"/&
&meta-data android:name="Mob-AppSecret" android:value="2ad1d3d6f87f696cd872d60f10966f31"/&
&/application&
&/manifest&
5:activity_main.xml
&?xml version="1.0" encoding="utf-8"?&
&RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="zhu.com.yzm4.MainActivity"&
android:text="注册"
android:layout_width="310dp"
android:layout_height="45dp"
android:layout_marginTop="20dp"
android:id="@+id/btn_register"
android:background="@color/colorPrimary"
android:textColor="@color/colorAccent"
android:layout_below="@+id/edit_code"
android:layout_centerHorizontal="true" /&
&!--自定义的下划线EditText--&
android:layout_width="320dp"
android:layout_height="40dp"
android:inputType="textPersonName"
android:hint="你的手机号"
android:ems="10"
android:id="@+id/edit_phone"
android:layout_weight="1"
android:layout_marginTop="96dp"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/edit_code" /&
android:layout_width="210dp"
android:layout_height="45dp"
android:inputType="textPersonName"
android:hint="请输入验证码"
android:ems="10"
android:layout_marginTop="41dp"
android:id="@+id/edit_code"
android:layout_below="@+id/edit_phone"
android:layout_alignStart="@+id/btn_register" /&
android:text="获取验证码"
android:layout_width="100dp"
android:layout_height="40dp"
android:id="@+id/btn_getcord"
android:background="@color/colorPrimary"
android:textColor="@color/colorAccent"
android:layout_alignBaseline="@+id/edit_code"
android:layout_alignBottom="@+id/edit_code"
android:layout_alignEnd="@+id/edit_phone" /&
&/RelativeLayout&
6:MainActivity(再结合别人的源码)
package zhu.com.yzm4;
import android.app.A
import android.os.H
import android.os.M
import android.support.v7.app.AppCompatA
import android.os.B
import android.text.TextU
import android.view.V
import android.widget.B
import android.widget.EditT
import android.widget.TextV
import android.widget.T
import cn.smssdk.EventH
import cn.smssdk.SMSSDK;
public class MainActivity extends Activity implements View.OnClickListener {
private EditText edit_
private EditText edit_
private TextV
private Button btn_getC
private Button btn_
private String phone_
private String cord_
EventHandler eventH
private int time=60;
private boolean flag=true;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
eventHandler = new EventHandler() {
public void afterEvent(int event, int result, Object data) {
Message msg=new Message();
handler.sendMessage(msg);
SMSSDK.registerEventHandler(eventHandler);
protected void onDestroy() {
super.onDestroy();
SMSSDK.unregisterEventHandler(eventHandler);
* 使用Handler来分发Message对象到主线程中,处理事件
Handler handler=new Handler()
public void handleMessage(Message msg) {
super.handleMessage(msg);
int event=msg.arg1;
int result=msg.arg2;
Object data=msg.
if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {
if(result == SMSSDK.RESULT_COMPLETE) {
boolean smart = (Boolean)
if(smart) {
Toast.makeText(getApplicationContext(),"该手机号已经注册过,请重新输入",
Toast.LENGTH_LONG).show();
edit_phone.requestFocus();
if(result==SMSSDK.RESULT_COMPLETE)
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
Toast.makeText(getApplicationContext(), "验证码输入正确",
Toast.LENGTH_LONG).show();
btn_getCord.setVisibility(View.VISIBLE);
Toast.makeText(getApplicationContext(),"验证码获取失败请重新获取", Toast.LENGTH_LONG).show();
edit_phone.requestFocus();
Toast.makeText(getApplicationContext(),"验证码输入错误", Toast.LENGTH_LONG).show();
private void getId()
edit_phone=findViewById(R.id.edit_phone);
edit_cord=findViewById(R.id.edit_code);
btn_getCord=findViewById(R.id.btn_getcord);
btn_register=findViewById(R.id.btn_register);
btn_getCord.setOnClickListener(this);
btn_register.setOnClickListener(this);
* 按钮点击事件
public void onClick(View v)
switch (v.getId())
case R.id.btn_getcord:
if(judPhone())//去掉左右空格获取字符串
SMSSDK.getVerificationCode("86",phone_number);
edit_cord.requestFocus();
case R.id.btn_register:
if(judCord())
SMSSDK.submitVerificationCode("86",phone_number,cord_number);
flag=false;
private boolean judPhone()
if(TextUtils.isEmpty(edit_phone.getText().toString().trim()))
Toast.makeText(MainActivity.this,"请输入您的电话号码",Toast.LENGTH_LONG).show();
edit_phone.requestFocus();
return false;
else if(edit_phone.getText().toString().trim().length()!=11)
Toast.makeText(MainActivity.this,"您的电话号码位数不正确",Toast.LENGTH_LONG).show();
edit_phone.requestFocus();
return false;
phone_number=edit_phone.getText().toString().trim();
String num="[1][358]\\d{9}";
if(phone_number.matches(num))
return true;
Toast.makeText(MainActivity.this,"请输入正确的手机号码",Toast.LENGTH_LONG).show();
return false;
private boolean judCord()
judPhone();
if(TextUtils.isEmpty(edit_cord.getText().toString().trim()))
Toast.makeText(MainActivity.this,"请输入您的验证码",Toast.LENGTH_LONG).show();
edit_cord.requestFocus();
return false;
else if(edit_cord.getText().toString().trim().length()!=4)
Toast.makeText(MainActivity.this,"您的验证码位数不正确",Toast.LENGTH_LONG).show();
edit_cord.requestFocus();
return false;
cord_number=edit_cord.getText().toString().trim();
return true;
Android studio获取验证码倒计时代码
android 一行代码,快速实现图片验证码(附android studio 版小demo)
Android实现获取短信验证码的功能以及自定义GUI短信验证
Android Studio使用Mob来获取手机验证码加上倒计时
AndroidStudio短信验证功能收不到验证码
Android studio 实现登录注册图形随机验证码
Android Studio Mob快速集成短信验证(图文教程)
没有更多推荐了,关于“一片云”等短信验证码平台,利用虚假手机号码注册网站用户的讨论
[问题点数:80分]
本版专家分:0
CSDN今日推荐
本版专家分:388505
2017年 总版技术专家分年内排行榜第四2014年 总版技术专家分年内排行榜第四2013年 总版技术专家分年内排行榜第四2012年 总版技术专家分年内排行榜第六
2018年3月 总版技术专家分月排行榜第一2013年5月 总版技术专家分月排行榜第一
2018年4月 总版技术专家分月排行榜第二2016年7月 总版技术专家分月排行榜第二2016年3月 总版技术专家分月排行榜第二2015年12月 总版技术专家分月排行榜第二2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
2016年10月优秀大版主
2016年8月论坛优秀版主优秀大版主2015年7月优秀大版主2015年8月优秀大版主2015年8月优秀大版主2015年9月优秀大版主2015年5月优秀大版主2015年4月优秀版主2014年11月论坛优秀版主
本版专家分:0
本版专家分:388505
2017年 总版技术专家分年内排行榜第四2014年 总版技术专家分年内排行榜第四2013年 总版技术专家分年内排行榜第四2012年 总版技术专家分年内排行榜第六
2018年3月 总版技术专家分月排行榜第一2013年5月 总版技术专家分月排行榜第一
2018年4月 总版技术专家分月排行榜第二2016年7月 总版技术专家分月排行榜第二2016年3月 总版技术专家分月排行榜第二2015年12月 总版技术专家分月排行榜第二2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
2016年10月优秀大版主
2016年8月论坛优秀版主优秀大版主2015年7月优秀大版主2015年8月优秀大版主2015年8月优秀大版主2015年9月优秀大版主2015年5月优秀大版主2015年4月优秀版主2014年11月论坛优秀版主
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:42
本版专家分:0
本版专家分:0
匿名用户不能发表回复!|
其他相关推荐app短信验证码接口:Mob推出全球免费短信验证码解决方案
寻程金融数据
app短信验证码接口:Mob推出全球免费短信验证码解决方案
手机短信验证是app在注册、验证服务、通讯录相关服务中最常使用的方法之一,但是单独跟运营商对接手续冗长复杂,且地域局限大;市面上的第三方公司鱼龙混杂,稳定性一般,费用昂贵,这些成为困扰app开发者们的一大难题。为此,本着“急开发者所想,做开发者所需”的原则,中国最大的开发者服务平台Mob为开发者提供了全球通用的免费短信验证码工具,经过一段时间的公测,现在正式面向所有开发者开放!此工具提供全套短信验证码解决方案,开发者可以直接使用,APP内植入短信验证码SDK,简单设置后便可完美实现短信验证,轻而易举实现短信验证服务,远比其他短信平台集成更为快速便捷,且易于后期管理。其使用的运营商顶级专属通道,可以保证下发验证码速度更快更稳定;支持可高度自定义的界面,帮助保持产品风格的一致。它也拥有全面的数据接口,可实现通信录好友匹配功能,例如一部手机在安装了内置该组件的APP后,如果发现手机通讯录内有人使用了同样的APP,用户便会收到提醒,进而邀请好友共同加入其中,轻松形成稳定的社交圈。同时它还拥有最贴心的数据统计分析,所有相关信息后台一目了然。 需要特别指出的是,近日Mob宣布短信验证码SDK已经支持全球200多个国家和地区,1000多个运营商,是全球支持最广,最专业的短信验证解决方案,为中国开发者提供了全球拓展的有力支持!Mob平台介绍:Mob(原ShareSDK)开发者服务平台构建了社交分享工具平台,手游视频录制工具平台,app统计工具平台和短信验证工具平台等四大开发者服务分平台,一系列其他的开发者服务还将陆续推出,力图为开发者打造最贴心的一站式服务平台。截止2014年8月,Mob开发者服务平台已经为60000+个APP提供服务,全球设备覆盖超过12亿,已经是中国最大的开发者服务平台,目前公司已经设立国际部,向着全球最大开发者服务平台的目标迈进。Android开发之MOB短信验证SDK的使用(二)
我已经介绍了如何快速集成MOB短信验证SDK,那今天我们讲什么呢?我们今天讲一下如何不使用SDK中的GUI界面。对!我们今天来学习怎么自定义GUI,说的直白点就是自定义界面并把开发中所要用的接口绑定到自定义界面的控件上。
首先,我们还是看一下SDK中为我们提供了那些静态方法(这说明了我们只要类点方法名,对应传参就行了)?
1初始化接口
1.1 initSDK(Context context, String appkey, String appSecrect) 初始化SDK,单例,可以多次调用;任何方法调用前,必须先初始化 屌丝我放在了application中 全局性质 (初始化有用)
1.2 registerEventHandler(EventHandler handler) 注册回调接口 这个我放在了要用的activity的oncreate()方法里 注意这是回掉,如果不用handler的消息机制是会报错的 它会提示你create一个handler去解决这个问题 后面会讲到土司不能在这里面写 (注测要用的)
1.3 unregisterEventHandler(EventHandler handler)注销回调接口 都说注销 意思就是destory() 我放在activity的onDestory()里 (注销也要用的 不然会内存溢出 OOM了)
2.短信验证码接口
2.1getSupportedCountries()获取短信目前支持的国家列表 (一般我们做的是国内项目,外国项目很少会用到这个 默认直接传字符串& 86& 这里指的是中国 基本不需要用 直接传值,看需求吧)
2.2getVerificationCode(String country, String phone)请求获取短信验证码(这个也要用的 我们做短信验证不可缺少啊 )
2.3submitVerificationCode(String country, String phone, String code)提交短信验证码 (这个就是提交验证码并验证 我这里用的是MOB的智能验证,所以在客户端没显示 有用的)
3.用户接口
3.1submitUserInfo(String uid, String nickname, String avatar, String country, String phone)提交用户信息 (有用的 就是提交到自己的服务器上)
3.2getNewFriendsCount()获取应用内新增加的好友数(感觉没啥用 看需求吧)
3.3getFriendsInApp()获取应用内的好友列表 (上同)
4.语音验证接口
4.1getVoiceVerifyCode(String phone , String country)请求语音验证码2.0.0以下版本 (高科技的样子,我们初次注册点餐软件时好像用过,没啥用 看需求)
4.2getVoiceVerifyCode(String country,String phone)请求语音验证码2.0.0与之后的 (上同)
这些接口 从上往下的顺序去使用就行了
基本思路就是
1.初始化接口 就是基本的接口进行配置
2.我要做什么功能呢?对,我们要短信验证啊 那就调短信请求接口
3.我们得到短信了,那我们要干啥?验证呀!
4.验证完,我们这个用户的信息我们是不是要保存下来啊 那就提交服务器咯
接下来我们看代码
看着上面的思路:
1.我们要初始化吧,势必要初始化接口那就application里初始化咯
package com.example.boom.messageproject.
import android.app.A
import cn.smssdk.SMSSDK;
* Created by Boom on .
public class App extends Application {
public void onCreate() {
super.onCreate();
SMSSDK.initSDK(this, &你的key&, &你的密钥&);
2.那我们要用这个东西吧,就要注册吧!
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.regeister);
//注册短信回调
SMSSDK.registerEventHandler(new EventHandler() {
public void afterEvent(int event, int result, Object data) {
Message msg = Message.obtain();
msg.arg1 =
msg.arg2 =
handler.sendMessage(msg);
findViewId();
3.注册完,我们千万不要忘记要注销 那么我们现在就写好,以免之后忘了
protected void onDestroy() {
super.onDestroy();
SMSSDK.unregisterAllEventHandler();
4.初始化完了,我们就要请求验证码咯,为了达到平常那种验证码的效果 这里我写了个计时器 然后调用
private CountDownTimer timer = new CountDownTimer(6) {
public void onTick(long millisUntilFinished) {
btnView.setText((millisUntilFinished / 1000) + &秒后可重发&);
public void onFinish() {
btnView.setEnabled(true);
btnView.setText(&获取验证码&);
case R.id.get_btn:
btnView.requestFocus();
if (vaildateinfo()) {
//启动获取验证码 86是中国
String zh=csed1.getText().toString().trim();
SMSSDK.getVerificationCode(&86&, zh);
timer.start();
其中还有手机号和密码的验证 其中叶子定义了待删除图片的EditText
//验证注册信息
private boolean vaildateinfo() {
csed1 = (EditText) findViewById(R.id.csed1);
csed2 = (EditText) findViewById(R.id.csed2);
String zh = csed1.getText().toString().trim();
String pwd = csed2.getText().toString().trim();
//首先要判断是否为空
if (!zh.equals(&&) || null != zh) {
if (zh.length() == 11) {
if (!pwd.equals(&&) || null != pwd) {
if (pwd.length() == 8) {
Toast.makeText(Regeister.this, &密码不足8位&, Toast.LENGTH_SHORT).show();
csed2.requestFocus();
Toast.makeText(Regeister.this, &密码不能为空&, Toast.LENGTH_SHORT).show();
csed2.requestFocus();
Toast.makeText(Regeister.this, &手机号不足11位&, Toast.LENGTH_SHORT).show();
csed1.requestFocus();
Toast.makeText(Regeister.this, &手机号不能为空&, Toast.LENGTH_SHORT).show();
csed1.requestFocus();
带删除按钮的EditText,这里就不介绍了 之前写过,看前面写的博客
5.获取验证码后,验证验证码。我们要把得到的验证码填到编辑域吧(当然,手动填写是不是感觉已经out了 我们也可以自定义广播,拦截这样的信息 自动填入文本框中 这种效果很友好,后期我会讲到,我们先用老方法)
//验证 验证码
private void vaildatePassword() {
String code = vaildatepwd.getText().toString().trim();
String zh=csed1.getText().toString().trim();
SMSSDK.submitVerificationCode(&86&, zh, code);
putUserInfo(&86&, zh);
XML文件代码如下:
java代码:
package com.example.boom.messageproject.
import android.app.A
import android.os.B
import android.os.CountDownT
import android.os.H
import android.os.M
import android.view.V
import android.widget.EditT
import android.widget.TextV
import android.widget.T
import com.example.boom.messageproject.R;
import java.util.R
import cn.smssdk.EventH
import cn.smssdk.SMSSDK;
* Created by Boom on .
public class Regeister extends Activity implements View.OnClickListener {
private static final String[] AVATARS = new String[400];
TextView btnV
EditText csed1 = null, csed2 =
EditText vaildatepwd =
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.regeister);
//注册短信回调
SMSSDK.registerEventHandler(new EventHandler() {
public void afterEvent(int event, int result, Object data) {
Message msg = Message.obtain();
msg.arg1 =
msg.arg2 =
handler.sendMessage(msg);
findViewId();
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
int event = msg.arg1;
int result = msg.arg2;
Object data = msg.
if (result == SMSSDK.RESULT_COMPLETE) {
//回调完成
Toast.makeText(Regeister.this, &回调完成&, Toast.LENGTH_SHORT).show();
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
//提交验证码成功
Toast.makeText(Regeister.this, &提交验证码成功&, Toast.LENGTH_SHORT).show();
} else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {
//获取验证码成功
Toast.makeText(Regeister.this, &获取验证码成功&, Toast.LENGTH_SHORT).show();
} else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES) {
//返回支持发送验证码的国家列表
Toast.makeText(Regeister.this, &返回支持发送验证码的国家列表&, Toast.LENGTH_SHORT).show();
//回调失败
((Throwable) data).printStackTrace();
private void findViewId() {
btnView = (TextView) findViewById(R.id.get_btn);
vaildatepwd = (EditText) findViewById(R.id.vaildatepwd);
private void init() {
btnView.setOnClickListener(this);
public void onClick(View v) {
switch (v.getId()) {
//点击获取验证码控件
case R.id.get_btn:
btnView.requestFocus();
if (vaildateinfo()) {
//启动获取验证码 86是中国
String zh = csed1.getText().toString().trim();
SMSSDK.getVerificationCode(&86&, zh);
timer.start();
//点击提交信息按钮
case R.id.rgs_btn:
VaildateputInfo();
* 1.验证验证码
* 2.提交用户信息
private void VaildateputInfo() {
vaildatePassword();
//验证 验证码
private void vaildatePassword() {
String code = vaildatepwd.getText().toString().trim();
String zh = csed1.getText().toString().trim();
SMSSDK.submitVerificationCode(&86&, zh, code);
putUserInfo(&86&, zh);
//提交用户信息
private void putUserInfo(String country, String phone) {
Random rnd = new Random();
int id = Math.abs(rnd.nextInt());
String uid = String.valueOf(id);
String nickName = &SmsSDK_User_& +
String avatar = AVATARS[id % 12];
SMSSDK.submitUserInfo(uid, nickName, avatar, country, phone);
private CountDownTimer timer = new CountDownTimer(6) {
public void onTick(long millisUntilFinished) {
btnView.setText((millisUntilFinished / 1000) + &秒后可重发&);
public void onFinish() {
btnView.setEnabled(true);
btnView.setText(&获取验证码&);
protected void onDestroy() {
super.onDestroy();
SMSSDK.unregisterAllEventHandler();
//验证注册信息
private boolean vaildateinfo() {
csed1 = (EditText) findViewById(R.id.csed1);
csed2 = (EditText) findViewById(R.id.csed2);
String zh = csed1.getText().toString().trim();
String pwd = csed2.getText().toString().trim();
//首先要判断是否为空
if (!zh.equals(&&) || null != zh) {
if (zh.length() == 11) {
if (!pwd.equals(&&) || null != pwd) {
if (pwd.length() == 8) {
Toast.makeText(Regeister.this, &密码不足8位&, Toast.LENGTH_SHORT).show();
csed2.requestFocus();
Toast.makeText(Regeister.this, &密码不能为空&, Toast.LENGTH_SHORT).show();
csed2.requestFocus();
Toast.makeText(Regeister.this, &手机号不足11位&, Toast.LENGTH_SHORT).show();
csed1.requestFocus();
Toast.makeText(Regeister.this, &手机号不能为空&, Toast.LENGTH_SHORT).show();
csed1.requestFocus();

我要回帖

更多关于 免费获取手机验证码 的文章

 

随机推荐