安卓----短信验证(借用第三方平台)

准备工作:

  ·安卓开发环境:基于eclipse的(studio也可以)

  ·SDK(短信验证的,mob.com的官网上下载),如图:

下载到本地解压就可以了

 

解压之后的目录文件

 

现在正式开始代码的实现部分:

  ·1.新建工程:file->new ->Android Application Project  给自己的工程命名,包名,设置图标等等

  ·2.进入工程,首先会看到activity_main.xml和MainActivity.java。我们先到.xml布局文件把界面稍微设置一下,

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent" >
 5 
 6     <Button
 7         android:id="@+id/btn_bind_phone"
 8         android:layout_width="match_parent"
 9         android:layout_height="wrap_content"
10         android:layout_alignParentTop="true"
11         android:layout_centerHorizontal="true"
12         android:layout_marginTop="59dp"
13         android:text="@string/btn_bind_phone" //这个地方我把“注册或者绑定手机号”写到了字符串里
14         android:textColor="#464646"
15         android:textSize="16sp" />
16 
17 </RelativeLayout>

看到效果如图:

  ·3.进mob.comg官网创建新应用,获取App Key & App secrete,,如图:

               图1                                                                                                                             图2

  点击左上角的应用

点击添加应用

然后你会在主界面看到

  ·4.导入我们最开始下载的SDK,为下面的调用做准备。file——>import——>Android——>Existing Android Code Into Workspace——>next

然后点finish,导入后让SMSSDK,ShortMessageSDKGUI成为可以被引用的,步骤如下:

SMSSDK工程上右键--点击Properties

ShortMessageSDKGUI也按照上面的步骤做一次,然后再在自己的工程上右键,同样进入Properties

以上步骤全部完成后就可以写主函数了

  

  这里在导入SDK时可能会报错,这里主要是导入的工程可能不支持你的安卓SDK版本引起的,所以根据你自己的SDK版本修改AndroidMainfest.xml中的

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />//最低版本号,和最高版本号

 

 

  ·5.MainActivity.java里面的代码

 1 package com.example.riansms;
 2 
 3 import java.util.HashMap;
 4 import java.util.Random;
 5 
 6 import cn.smssdk.EventHandler;
 7 import cn.smssdk.SMSSDK;
 8 import cn.smssdk.gui.RegisterPage;
 9 import android.os.Bundle;
10 import android.app.Activity;
11 import android.view.Menu;
12 import android.view.View;
13 import android.view.View.OnClickListener;
14 import android.widget.Button;
15 
16 public class MainActivity extends Activity {
17 
18     Button mBtnBindPhone;
19     String APPKEY="*********";//上一步里面的App Key码
20     String APPSECRETE="**********";//上一步的App Secret
21     
22     @Override
23     protected void onCreate(Bundle savedInstanceState) {
24         super.onCreate(savedInstanceState);
25         setContentView(R.layout.activity_main);
26         
27         //初始化
28         SMSSDK.initSDK(this, APPKEY, APPSECRETE);
29         //配置信息 配置文件去配置权限,界面等 .xml        
30         
31         mBtnBindPhone=(Button) findViewById(R.id.btn_bind_phone);
32         
33         //设置点击事件,匿名函数
34         mBtnBindPhone.setOnClickListener(new OnClickListener() {
35             
36             @Override
37             public void onClick(View v) {
38                 //注册手机号
39                 RegisterPage registerPage=new RegisterPage();// 注册页面实例化
40                 
41                 //注册回调事件
42                 registerPage.setRegisterCallback(new EventHandler(){
43                     //事件完成后调用
44                     @Override
45                     public void afterEvent(int event, int result, Object data) {
46                         //判断是否已经完成
47                         if(result==SMSSDK.RESULT_COMPLETE){
48                             //获取数据data
49                             HashMap<String, Object> maps=(HashMap<String, Object>) data;
50                             //国家
51                             String country= (String) maps.get("country");
52                             //手机号
53                             String phone=(String) maps.get("phone");
54                             
55                             submitUserInfo(country,phone);
56                         }
57                         
58                     }
59                 });
60                 //显示注册界面,   完成验证过程,这里就可以随便跳转其他页面也可
61                 registerPage.show(MainActivity.this);
62                         
63             }
64         });
65     }
66 
67     /*
68      * 提交用户信息   
69      */
70     public void submitUserInfo(String country, String phone) {
71         Random r=new Random();        
72         String uid=Math.abs(r.nextInt())+"";
73         String nickName="IMOOC";
74         SMSSDK.submitUserInfo(uid, nickName, null, country, phone);
75     }
76     
77 }

  ·6.配置权限,注册activity

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.riansms"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6 
 7     <uses-sdk
 8         android:minSdkVersion="8"
 9         android:targetSdkVersion="18" />
10     
11     <!-- 权限 -->
12     <uses-permission android:name="android.permission.READ_CONTACTS"/>
13     <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
14     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
15     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
16     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
17     <uses-permission android:name="android.permission.INTERNET"/>
18     <uses-permission android:name="android.permission.RECEIVE_SMS"/>
19     <uses-permission android:name="android.permission.GET_TASKS"/>
20         
21     <!--从22行到35行是自己新建工程时生成的,不要改变-->
22     <application
23         android:allowBackup="true"
24         android:icon="@drawable/ic_launcher"
25         android:label="@string/app_name"
26         android:theme="@style/AppTheme" >
27         <activity
28             android:name="com.example.riansms.MainActivity"
29             android:label="@string/app_name" >
30             <intent-filter>
31                 <action android:name="android.intent.action.MAIN" />
32 
33                 <category android:name="android.intent.category.LAUNCHER" />
34             </intent-filter>
35         </activity>
36         
37         <!-- 注册MobUIShell页面 -->
38         <activity 
39             android:name="com.mob.tools.MobUIShell"
40             android:configChanges="keyboardHidden|orientation|screenSize"
41             android:theme="@android:style/Theme.Translucent.NoTitleBar"
42             android:windowSoftInputMode="stateHidden|adjustResize" />
43     </application>
44 
45 </manifest>

至此,这个短信验证的工程完成,试着运行一下吧,

 

 

我的运行结果

1.

 点击下一步就可以有“验证成功”的toast的提示消息。

 

我也可以进后台去查一查验证记录

 

 以上来自慕课网视频讲解

 

posted @ 2016-03-08 17:34  下雨天rain  阅读(1234)  评论(0编辑  收藏  举报