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

Posted 陈家小桐桐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了完整的Android手机短信验证源码相关的知识,希望对你有一定的参考价值。

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

一、短信验证码的后台

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

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

          

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

           

        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进行的。会出现如下目录:

              

             打开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,加               上红圈中的这几句就行了。
          

       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);
    }

三、运行结果

      

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

                                            

 


  

 


 

           

 

            

 

 

 

           

以上是关于完整的Android手机短信验证源码的主要内容,如果未能解决你的问题,请参考以下文章

Java开发完整的短信验证码功能

源码分享短信验证码如何对接Discuz论坛

源码分享POSCMS功能如何实现短信验证码

源码分享短信验证码功能对接CmsEasy

sharesdk短信验证码的集成

用App生成验证码的方式取代手机短信验证码方式?