实现京东商城手机注册获取验证码

PS:如果觉得文章太长,你也可观看该课程的视频,亲,里面还有高清,无码的福利喔

  • 欢迎关注微信公众号

微信公众号名称:Android干货程序员

按照如下步骤:

1:搜索sharesdk注册帐号,下载sdk
2.2、Android Studio
SMSSDK 2.0.1
SMSSDK2.0.1开始使用aar文件集成。更方便快捷2.1 首先这是一个Android项目

3、配置AndroidManifest.xml

<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.READ_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

然后在“application”下添加如下activity:

<activity
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize"/>

4、添加代码

启动SDK

在您的项目启动时,调用下面的代码:

SMSSDK.initSDK(this, "您的appkey", "您的appsecret");

2、无GUI接口说明

2.1、初始化接口

限定符和类型 方法和说明
static void initSDK(Context context, String appkey, String appSecrect)
初始化SDK,单例,可以多次调用;任何方法调用前,必须先初始化
static void registerEventHandler(EventHandler handler)
注册回调接口
static void unregisterEventHandler(EventHandler handler)
注销回调接口
initSDK方法是短信SDK的入口,需要传递您从MOB应用管理后台中注册的SMSSDK的应用AppKey和AppSecrete,如果填写错误,后续的操作都将不能进行。
registerEventHandler用来往SMSSDK中注册一个事件接收器,SMSSDK允许开发者注册任意数量的接收器,所有接收器都会在事件 被触发时收到消息。

SMSSDK.initSDK(this,APPKEY,APPSECRET);
        EventHandler eh=new EventHandler(){

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

               if (result == SMSSDK.RESULT_COMPLETE) {
                //回调完成
                if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
                //提交验证码成功
                }else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){
                //获取验证码成功
                }else if (event ==SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){
                //返回支持发送验证码的国家列表
                } 
              }else{                                                                 
                 ((Throwable)data).printStackTrace(); 
          }
      } 
   }; 
SMSSDK.registerEventHandler(eh); //注册短信回调


registerEventHandler必须和unregisterEventHandler配套使用,否则可能造成内存泄漏。
2.2、短信验证码接口

限定符和类型 方法和说明
static void getSupportedCountries()
获取短信目前支持的国家列表,在监听中返回
static void getVerificationCode(String country, String phone)
getVerificationCode(String country, String phone, OnSendMessageHandler listener)
请求获取短信验证码,在监听中返回
static void submitVerificationCode(String country, String phone, String code)
提交短信验证码,在监听中返回
其中OnSendMessageHandler的定义如下,这个Handler的用途是在发送短信之前,开发者自己执行一个操作,来根据电话号码判断是否需要发送短信

public interface OnSendMessageHandler {

    //#if def{lang} == cn
    /** 
     * 此方法在发送验证短信前被调用,传入参数为接收者号码
     * 返回true表示此号码无须实际接收短信
     */
    //#elif def{lang} == en
    /**
     * This method will be called before verification message being to sent,
     * input params are the message receiver
     * return true means this number won't actually receive the message
     */
    //#endif
    public boolean onSendMessage(String country, String phone);}

短信SDK并不能支持世界上所有国家的短信验证服务,因此我们提供了getSupportedCountries方法,在使用短信验证码功能前请调用此方法,获取当前SDK可以支持的国家列表和号码匹配规则。
getVerificationCode用于向服务器请求发送验证码的服务,需要传递国家代号和接收验证码的手机号码,支持此服务的国家代码在 getSupportedCountries中获取。请求getVerificationCode的时间间隔不应该小于60秒,否则服务端会返回“操作过 于频繁”的错误
submitVerificationCode用于向服务器提交接收到的短信验证码,验证成功后会通过EventHandler返回国家代码和电话号码。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值