mobAndroid免费验证短信

1、 获得用户Appkey 和App Secret 
android

一、 在Eclipse中建立新项目(Android Studio相同)记下包名,包名在mob后台建立应用的时候须要。这个必定要切记!ios

获得用户Appkey 和App Secret

二、 登录mob.com短信验证平台 开发者服务平台注册成为开发者,并建立应用。正则表达式

1)选择系统的版本,Android或者ios;服务器

2)填写应用名称,下载地址,选择应用的详细分类;网络

3)在开发模式完成后,正式上线的时候还须要上传应用的签名,这里就用到了上面的包名,最好不要后期修改,不然非常麻烦,须要作大篇幅的修改。app

建立应用

三、 获得用户Appkey 和App Secret ,在你建立了新的应用的时候他会给出你对应的应用的Appkey 和App Secret。若是后期须要再进入mob.com查看Appkey 和App Secret的时候就须要点击对应的应用名字---应用管理----应用信息,在这里能够看到应eclipse

用的全部信息,而且也能够对应用的部分信息进行修改。ide

获得用户Appkey 和App Secret

四、 下载SDK,地址:http://sms.mob.com/Downloadthis

 下载的压缩包,解压后就能获得两个文件,一个是官方提供的sample,另外一个是须要在本身项目中引用的项目文件。spa

2、 客户端配置

一、 从官方下载的sdk中导入eclipse,把SMSSDK这个项目总体导入eclipse,并把它做为library在本身所建立的项目中引用。其中SMSSDK是官方提供的一个引用资源文件,这个是目前常见的一种方式,由于这样省去了在本身的项目中大量的添加jar包,形成自己项目的体积不断膨胀变大,使其加载速度变慢,同时还会由于有的jar包只是用到里面的不多一部分,可是却添加的是整个jar包,形成体积冗余,资源浪费。

导入:

导入文件

引用:

按照如下步骤一步步的把须要用到的资源文件引用到本身的项目

Window--------preferences---------android ---- 右侧library-------Add ------ 选择 SMSSDK----------Apply---------ok

资源引入项目

二、打开配置文件,添加相应的权限

其中有比较常见的网络权限,通信录权限,短信权限等

这些直接复制,黏贴进本身的项目就能够,都是必需要的,没什么可说的

<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.GET_TASKS" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />


三、在application中添加mob.com的Activity,这个是在官方类库中提供的,可是由于在我的项目中须要调用,因此须要在配置文件中单独声明一下。

这个要特别提醒一下,千万不要忘了,否则会提示空指针异常或者是没有找到cn.smssdk.SMSSDKUIShell,这样你的项目就不能运行了,若是出现了这样的错误提示,能够直接到配置文件中看看有没有漏掉这一步。

<activity

   android:name="cn.smssdk.SMSSDKUIShell"

   android:configChanges="keyboardHidden|orientation|screenSize"

   android:theme="@android:style/Theme.Translucent.NoTitleBar"

   android:windowSoftInputMode="stateHidden|adjustResize" />

下面的也是在配置文件中须要声明的,不过这个是他们官方用来进行统计数据用获得的

<!-- 统计用,service用于保证必定可以向服务器上传数据 -->

<service

android:name="cn.sharesdk.analysis.server.RemoteService"

    android:process=":remote" />

3、方法调用

初始化短信SDK

private void init() {

MyUtils.initInfor(this);

  

SMSSDK.initSDK(this, app_key, app_secret);

final Handler handler = new Handler(this);

EventHandler eventHandler = new EventHandler() {

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(eventHandler);

flag = true;

  

// 获取新好友个数

showDialog();

SMSSDK.getNewFriendsCount();

  

}

请求短信验证码

btn.setOnClickListener(new View.OnClickListener() {

 

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

str_phone = phone.getText().toString();

if(str_phone.equals(""))

{

Toast.makeText(getApplicationContext(), "请输入手机号",Toast.LENGTH_SHORT).show();

}

else if(!MyUtils.isMobileNO(str_phone))

{

Toast.makeText(getApplicationContext(), "请输入正确的手机号格式",Toast.LENGTH_SHORT).show();

}

else

{

// 下面的代码就是调用sdk的发送短信的方法,其中的“86”是官方中定义的,表明中国的意思

// 第二个参数表示的是须要发送短信的手机号

SMSSDK.getVerificationCode("86", str_phone);

str_str_phone = str_phone;

 

//发送短信以后验证码的按钮才能激活

btn_.setBackgroundColor(0xff000000);

btn_.setClickable(true);

 

//10秒钟内不可重点此按钮

time.start(); 

 

}

 

}

});

验证短信验证码是否正确

SMSSDK.submitVerificationCode("86", str_str_phone,str_captcha);

EventHandler eh=new EventHandler()

{

@Override

public void afterEvent(int event, int result, Object data) {

  

   if (result == SMSSDK.RESULT_COMPLETE) 

   {

   runOnUiThread(new Runnable()

{

public void run()

{

Toast.makeText(getApplicationContext(), "验证成功!你能够修改密码了",Toast.LENGTH_SHORT).show();

btn_.setBackgroundColor(0xffcccccc);

btn_.setClickable(false);

}

});

   }

   else

   {  

   runOnUiThread(new Runnable()

{

public void run()

{

Toast.makeText(getApplicationContext(), "验证码错误!",Toast.LENGTH_SHORT).show();

btn_.setBackgroundColor(0xffcccccc);

btn_.setClickable(false);

}

});

   ((Throwable)data).printStackTrace(); 

   }

}; 

SMSSDK.registerEventHandler(eh); //注册短信回

判断字符串是否是手机号码的正则表达式

public static boolean isMobileNO(String mobiles) {

/*

 * 移动:13四、13五、13六、13七、13八、13九、150、15一、157(TD)、15八、15九、18七、188

 * 联通:130、13一、13二、15二、15五、15六、18五、186 电信:13三、15三、180、18九、(1349卫通)

 * 总结起来就是第一位一定为1,第二位一定为3或5或8,其余位置的能够为0-9

 */

String telRegex = "[1][3578]\\d{9}";// "[1]"表明第1位为数字1,"[358]"表明第二位能够为三、五、8中的一个,"\\d{9}"表明后面是能够是0~9的数字,有9位。

if (TextUtils.isEmpty(mobiles))

return false;

else

return mobiles.matches(telRegex);

}

打开通讯录好友列表页面

//这个界面的sdk自带风格不难看,没有修改必要

private void openFriendsUI() {

ContactsPage contactsPage = new ContactsPage();

contactsPage.show(this);

}

防止屡次请求验证码的计时器

private Button checking;

  

public TimeCount(long millisInFuture, long countDownInterval,Button checking) 

{

super(millisInFuture, countDownInterval);//参数依次为总时长,和计时的时间间隔

this.checking = checking; 

}

 

@Override

public void onFinish() 

{

//计时完毕时触发

checking.setText("从新验证");

checking.setClickable(true);

checking.setBackgroundColor(0xff000000);

}

  

@Override

public void onTick(long millisUntilFinished){

//计时过程显示

checking.setClickable(false);

checking.setBackgroundColor(0xffcccccc);

checking.setText(millisUntilFinished /1000+"秒后从新验证");

}

主要功能

本服务的主要功能是发送短信验证码和获取联系人列表

发送短信验证码和获取联系人列表

一、发送短信验证码

选择国家,输入手机号,就能获得短信验证码

无需与短信平台合做的繁琐手续,SDK快速集成,集成便捷。省去了本身去跟运营商谈合做,谈接口等各类繁琐的步骤

先试试发短信功能,会提示你要发送的某个手机的手机号,这里是提示你乙方发错了,就是一个最终的肯定,若是不正确能够取消小,从新输入正确的手机号码。

若是点击 好  这时SDK就会向服务器提交请求,而后服务器根据你提交的信息发送短信到指定手机上,从而实现手机的定点短信发送。向服务器发送请求后,准备接收短信,这里有个缓冲界面,由于发送短信毕竟也须要一个时间间隔,同时也不能一直不间断的发送,那样就成了垃圾短信了,也不符合咱们的初衷。

发送短信验证码

发送短信验证码

接收到了短信,最终的结果出现了,这个就是咱们的终极结果,短信。获得了短信就有了验证码,咱们就能够在咱们的app中实现本身需求,完成相应的功能效果。

短信验证码

二、邀请通信录好友使用app,这个是获取通信录联系人列表后的结果,能够读取到手机上的全部联系人,极大的方便了app的推广,快速匹配通信录好友,创建本身的朋友圈。

 

联系人

相关文章
相关标签/搜索