• 完整的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中自带的,不用我们自己搭建。运行效果如下:

                                                

    
    

      

    
    
    

               

                

     

               

  • 相关阅读:
    严格模式
    es6模块与 commonJS规范的区别
    Javascript内置对象、原生对象、宿主对象关系
    实现继承的几种方式
    创建对象的一些方式
    null的小扩展
    getElementById的缩略
    你真的知道为什么不推荐使用@import?
    换行与不换行
    transition与animation
  • 原文地址:https://www.cnblogs.com/chentong/p/5498965.html
Copyright © 2020-2023  润新知