一.对应用实现短信验证及手机注册

  (本人这里是用mob.com官网的类库实现)


  1.首先在Mob.com官网注册账号,开通需要的服务创建自己的app,

这样就可以得到相应的appkey和app Secret 这在后面的实现代码中的是需要的。


   2.下载相应SDK文件如下:

Android studio 获取证书的公钥 android studio验证码怎么做_官网

(这是短信验证码对应的SDK,下载完解压)


    3.1在实现的代码是需要调用下载的库中的工具类就需要对下载的文件进行关联:

(注意:当编译器版本小于2.1时的类库导入方法如下:)

(1)在自己的项目中app上右键选择 Ppen Module Settings 

Android studio 获取证书的公钥 android studio验证码怎么做_官网_02

ShortMessageSDKGUI

 (这里进行关联的方法很多,本人使用eclipse的SDK在androidsrudio中关联在此比较方便)


Android studio 获取证书的公钥 android studio验证码怎么做_android_03


(2).接下来只需要进行关联一下两文件就好了

(上一步实现完成这一步好像会自动实现,点击进入查看便知)

Android studio 获取证书的公钥 android studio验证码怎么做_移动开发_04

即在菜单栏中对添加的library进行一下操作:

Android studio 获取证书的公钥 android studio验证码怎么做_后端_05

也可以分别右键选择 Ppen Module Settings 进行设置:

(右边添加符号对Dependence进行添加)

Android studio 获取证书的公钥 android studio验证码怎么做_android_06



Android studio 获取证书的公钥 android studio验证码怎么做_移动开发_07



Android studio 获取证书的公钥 android studio验证码怎么做_官网_08


  (3)实现到这里就可以对库中的SMSSDK等类及方法进行调用了。


   3.2当编译器(androidstudio)版本大于或等于2.1时的类库导入方法 :


(1)在app目录新建一个libs的包,将下载的SMSSDK中的 .jar文件和 .aar文件拷贝到libs包中;

     (2)在app下的build.gradle文件下加入下面部分代码:


repositories{

flatDir{

dirs 'libs' //就是你放aar的目录地址
    }

}


dependencies{

....




compile name:'SMSSDK-2.1.1',ext:'aar'

compile name:'SMSSDKGUI-2.1.1',ext:'aar'


//2.1.1为你下载的 .arr 文件对应的版本号,我这里是2.1.1,此处一定不//带有尖括号如: 

//compile name:'SMSSDKGUI-<2.1.1>',ext:'aar' 是错的

}

(此时就完成了项目库的导入,实现的目的与3.1相同)


4.实现短信通知还需要在清单文件中设置权限已经一个activity信息:

    (1)添加权限

<!--网络权限-->
<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"/>


  (2)直接添加一个activity信息在application中

<!--添加一个activity信息-->
<activity android:name="com.mob.tools.MobUIShell"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:windowSoftInputMode="stateHidden|adjustResize"
    />


  (3)回到oncreat()方法中


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    //1.初始化sdk     APPKEY:是在mob.com官网上注册的appkey
    SMSSDK.initSDK(this,APPKEY,APPSECRETE);//也是所注册的APPSECRETE
    //2.到清单文件中配置信息 (添加网络相关权限以及一个activity信息)

//对activity_main中的Button实例化
 mBtnBindPhone= (Button) findViewById(R.id.btn_bind_phone);
 
 
   
 //设置点击事件
 
   
 mBtnBindPhone 
 .setOnClickListener( 
 new  
 View.OnClickListener() {
 
  @Override  
   
 public void  
 onClick 
 (View view) {//重写 
 onClick 
 方法 
 
//注册手机号
            RegisterPage registerPage=new RegisterPage();

            //注册回调事件
            registerPage.setRegisterCallback(new EventHandler(){
 //事件完成后
 @Override
 
   
 public void  
 afterEvent 
 ( 
 int  
 event 
 , int  
 result 
 ,  
 Object data) {
 
  //判断结果是否已经完成  
   
 if 
 (result==SMSSDK. 
 RESULT_COMPLETE 
 ){ 
 //解析完成  
  //获取数据data  
 
 HashMap<String,Object>maps= (HashMap<String, Object>) data;//数据强转 

 
  //国家  
   
 String country= (String) maps.get( 
 "country" 
 ) 
 ; 
 
 
   
 //手机号码  
   
 String phone= (String) maps.get( 
 "phone" 
 ) 
 ;
 
   
   
 submitUserInfo(country 
 , 
 phone) 
 ; //调用提交数据方法
 
   
 } }
 }) 
 ;
 
   
   
 //显示注册界用下载的inde.xml文档中的show()方法  
   
 registerPage.show(MainActivity. 
 this 
 ) 
 ; 
   
   
 }
 }) 
 ; 
 
 
 }



  (4)在Oncreat()方法外新建方法:

//新建提交方法 提交用户信息到服务器在监听中返回结果
public void submitUserInfo(String country,String phone){

Random r=new Random();//获得一个随机数
    String uid=Math.abs(r.nextInt())+"";
    String nickName="MyApp";
    SMSSDK.submitUserInfo(uid,nickName,null,country,phone);
}

(本案例详情请参考官方文档: ApiDoc/index.html)---在下载的SMSSDK文件中