短信验证码有GUI:
第一步:(1)登录官网(http://www.mob.com);
(2)登录注册:(邮箱账号注册并登陆)
(3)注册登录成功进入:点击头像右侧——》进入后台
(4)点击应用 ——》添加应用——》输入应用名称并选择安卓平台
(5)获取到了App Key 和App Secret
第二步:(1)下载SDK(http://www.mob.com/#/downloadDetail/SMS/android)
解压可以看到SMSSDK文件夹,里面有ShortMessageSDKGUI文件和SMSSDK文件
(2)导入SDK
将ShortMessageSDKGUI文件和SMSSDK文件复制到自己项目的同一目录下,导入eclipse中,并且实现关联;
(关联操作:选中项目,右键——》选择Properties——》点击Android——》Is Library下面add按钮——》选中 ShortMessageSDKGUI和SMSSDK——》点击OK)
第三步:配置AndroidManifest.xml
打开项目的“AndroidManifest.xml”,在其中添加如下的权限:
1
2
3
4
5
6
7
8
9
|
<uses-permissionandroid:name="android.permission.READ_CONTACTS"/>
<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.RECEIVE_SMS"/>
<uses-permissionandroid:name="android.permission.GET_TASKS"/>
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>
|
然后在“application”下添加如下activity:
1
2
3
4
5
|
<activity
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize"/>
|
第四步:添加代码
(1)启动SDK
在项目开始处调用:SMSSDK.initSDK(this, APPKEY, APPSECRETE);
(2)发送短信验证码(代码如下)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
//打开注册页面
RegisterPageregisterPage=newRegisterPage();
registerPage.setRegisterCallback(newEventHandler(){
publicvoidafterEvent(intevent,intresult,Objectdata){
// 解析注册结果
if(result==SMSSDK.RESULT_COMPLETE){
@SuppressWarnings("unchecked")
HashMap<String,Object>phoneMap=(HashMap<String,Object>)data;
Stringcountry=(String)phoneMap.get("country");
Stringphone=(String)phoneMap.get("phone");
// 提交用户信息
registerUser(country,phone);
}
}
});
registerPage.show(context);
|
已实现的代码:
XML文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" >
<Button
android:id="@+id/btn_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="获取验证码"
/>
</LinearLayout>
activity代码:
package com.wang.smsdemo;
import java.util.HashMap;
import java.util.Random;
import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
import cn.smssdk.gui.RegisterPage;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button btn_score;
String APPKEY="10a869a5f93c6";
String APPSECRETE="c2f73b5c6cc64fe653cae7a29ec37de5";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化SMSSDK
SMSSDK.initSDK(this, APPKEY, APPSECRETE);
//配置信息
btn_score=(Button) findViewById(R.id.btn_score);
btn_score.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//注册手机号
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> map=(HashMap<String, Object>) data;
//获取国家的信息
String country=(String) map.get("country");
//手机号码的信息
String phone=(String) map.get("phone");
submitUsetInfo(country, phone);
}
}
});
//显示注册界面
registerPage.show(MainActivity.this);
}
});
}
//提交用户信息
public void submitUsetInfo(String country ,String phone){
String uid=Math.abs(new Random().nextInt())+"";
String nick="demo";
SMSSDK.submitUserInfo(uid, nick, null, country, phone);
}
}
以上就是sharedSDK集成官方GUI短信验证码的功能