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

                                                

    
    

      

    
    
    

               

                

     

               

  • 相关阅读:
    windows 按时自动化任务
    Linux libusb 安装及简单使用
    Linux 交换eth0和eth1
    I.MX6 GPS JNI HAL register init hacking
    I.MX6 Android mmm convenient to use
    I.MX6 GPS Android HAL Framework 调试
    Android GPS GPSBasics project hacking
    Python windows serial
    【JAVA】别特注意,POI中getLastRowNum() 和getLastCellNum()的区别
    freemarker跳出循环
  • 原文地址:https://www.cnblogs.com/chentong/p/5498965.html
Copyright © 2011-2022 走看看