完整的Android手机短信验证源码

时间:2023-03-08 21:18:30
完整的Android手机短信验证源码

短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能。

一、短信验证码的后台

     1、注册Mob账号:http://www.mob.com/#/login

2、注册成功之后,点击“头像”,进入“产品中心”,进入如下界面点击第二项添加应用。添加完应用几秒后再次进入第二项。

完整的Android手机短信验证源码

3、在第二步之后我们会得到两个重要的参数App key和App Secret,用于客户端和服务端的链接,创建好应用之后还会得到两个菜单选项“验证记录”和“短信设置”,“验证记录”是说我们进行短信验证之后后台会形成一个相关的记               录,比如手机类型、运营商、发送的时间以及验证的时间等内容。“短信设置”是说当前的短信是否支持全球运营商、大陆运营商等。

完整的Android手机短信验证源码

4、下载SDK,具体怎么下载我就不说了,我说说解压缩的SDK的各个文件什么意思吧解压缩之后,我们打开ApiDoc——>index.html,就可以看这个SDK里的内容了。里边的内容都给了清楚的解释。大家也可以看看SMSSDK文                件夹,里边存放了SDK的源码。里边还有一个SMSSDK_User_Guide,打开之后大家可以按照里面的步骤进行操作。

三、实现短信验证码的功能

      1、导入SDK

             如果你的SDK是SMSSDK 2.0.1之后就省事儿了,把下载的SDK解压缩之后,我的是Android Studio的SDK,所以下面说的操作都是针对Android Studio进行的。会出现如下目录:

完整的Android手机短信验证源码

打开SMSSDkmu目录,将里边的MobCommons-2016.0303.1229.jar,MobTools-2016.0303.1229.jar,SMSSDK-2.0.2.aar,SMSSDKGUI-2.0.2.aar放到了项目app的libs目录下。然后在app目录下的build.gradle,加               上红圈中的这几句就行了。
          完整的Android手机短信验证源码

2、配置清单文件信息,配置内容如下:

<--权限-->
<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" /> <!--配置Activity信息-->
<activity android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize"> </activity>

    3、初始化SDK:SMSSDK.initSDK(this, APPKEY, APPSECRET);

4、注册手机号:RegisterPage registerPage = new RegisterPage();

      5、注册回调事件         

registerPage.setRegisterCallback(new EventHandler() {
//事件完成后调用
public void afterEvent(int event, int result, Object data) {
// 判断结果是否已经完成
if (result == SMSSDK.RESULT_COMPLETE) {
@SuppressWarnings("unchecked")
//获取数据data
HashMap<String, Object> phoneMap = (HashMap<String, Object>) data;
//国家信息
String country = (String) phoneMap.get("country");
//手机号信息
String phone = (String) phoneMap.get("phone"); // 自定义方法提交用户信息
registerUser(country, phone);
}
}
});

6、显示注册界面registerPage.show(MainActivity.this);

7、对registerUser方法进行说明

 public void registerUser(String country,String phone){
//在int类型里随机取一个数在转成字符串
Random r=new Random();
String uid= Math.abs(r.nextInt())+"";
String nickName="ct";
SMSSDK.submitUserInfo(uid,nickName,null,country,phone);
}

三、运行结果

完整的Android手机短信验证源码

上面这个界面是自己搭建的UI界面,点击上面的Button可以出发上面的步骤5和6,就会出现下面的效果,下面的UI都是SMSSDK中自带的,不用我们自己搭建。运行效果如下:

完整的Android手机短信验证源码                                       完整的Android手机短信验证源码