Mob免费验证码androidStudio实现

       最近需要在注册手机账号时,需要发送短信验证码,经过多款短信接口尝试,最终还是敲定了Mob的免费验证码。

       由于看到现在网上的关于androidStudio实现此接口的无GUIDemo讲的不太清楚,为此我将对此进行介绍。

       首先,您需要在官网获取您app的appkey和AppSecret。具体操作就不讲了,http://www.cnblogs.com/zhoujn/p/4341426.html  , 大家可以参照这

网址申请key,如果看不懂,可以看这个http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1 。

在这里下载sdk: http://www.mob.com/downloadDetail/SMS/android

官方文档:http://wiki.mob.com/android-%E7%9F%AD%E4%BF%A1sdk%E9%9B%86%E6%88%90%E6%96%87%E6%A1%A3/

       如何在androidStudio中实现验证码发送呢?首先需要导入三个包,导入自己项目的libs文件夹下。如下图:

       

     想要实现无GUI接口只需要导入上面三个包即可,这三个包的来源是上边下载sdk文件的SMSSDK文件夹中。

     需要在AndroidMinifest.xml中加入:

     

<uses-permission android:name="android.permission.READ_CONTACTS" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<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" />

再在buld.gradle文件下,进行如下(注意:SMSSDK-2.0.1的版本不一定是2.0.1,需要和你自己下载的sdk文件中的相对应):



     把下面这段放到一个按钮的点击事件里,就可以发送短信了。大家要适当的替换一下代码哦。下面的appkey和appsecret填入自己在官网
请的。CreateActivity.this换为自己的activity , 要注意,要




SMSSDK.initSDK(CreateAccountActivity.this, appkey , appsecret);
EventHandler eh = new EventHandler() {
    @Override
    public void afterEvent(int event, int result, Object data) {

        Log.e(TAG , "这是回调! event = " + event + " result = " + result + "  data = " + data);

        if (result == SMSSDK.RESULT_COMPLETE) {
            //回调完成
            if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
                //提交验证码成功
            } else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {
                //获取验证码成功
                Log.e(TAG , "获取验证码成功");
            }

                   /*下面可以把回调信息传出去,自己定义一个Handler即可。


  Message msg = new Message();


  msg.arg1 = event;


  msg.arg2 = result;


  msg.obj = data;


  handler.sendMessage(msg);*/


        } else {
            ((Throwable) data).printStackTrace();
        }
    }
};
SMSSDK.registerEventHandler(eh); //注册短信回调
SMSSDK.getVerificationCode("86", "手机号码" );      //您要发送的手机号码(字符串形式), 86是代表中国的手机号码

//发送短信后,信息会回调到上边的afterEvent()方法里边。




你可能感兴趣的:(android,智慧酒店,验证码)