您的位置:首页 > 移动开发 > Android开发

Android发送短信验证码

2015-10-31 22:39 513 查看
在发送验证码中,后台我们使用的是Mob平台

首先注册成为Mob平台用户,进入后台,创建短信验证码应用,如下图。



创建好应用后,记录App Key值和App Secret值,在初始化SDK时使用。



下载相应的SDK,解压后的文件目录如下,将SMSSDK导入ADT中,设为库文件(选择工程右击选择“property”->"Android"选项下的library勾选“Is Library”)。



创建新工程,在工程中引入SMSSDK库(选择工程右击选择“property”->"Android"选项下的library中, 点击右边的“add...", 在出现的下拉列表中选择要引入的library即可)。

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


在application标签下添加如下activity:

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


在工程中初始化SMSSDK并调用发送验证码,完成后的MainActivity.java与acticity_main.xml如下:

MainActivity.java:

package xyz.baal.testsms;

import java.util.HashMap;
import java.util.Random;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import cn.smssdk.EventHandler;
import xyz.baal.testsms.R;
import cn.smssdk.SMSSDK;
import cn.smssdk.gui.RegisterPage;

public class MainActivity extends Activity {
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化SMSSDK
SMSSDK.initSDK(this, "<您的appkey>", "<您的appsecret>");
bt = (Button) findViewById(R.id.button);
bt.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
/*
*打开注册页面
*短信SDK内置了开源的GUI功能,您可以通过调用下面的代码打开短信验证页面
*/
RegisterPage registerPage = new RegisterPage();
registerPage.setRegisterCallback(new EventHandler() {
public void afterEvent(int event, int result, Object data) {
// 解析注册结果
if (result == SMSSDK.RESULT_COMPLETE) {
//获取数据
HashMap<String,Object> phoneMap = (HashMap<String, Object>) data;
String country = (String) phoneMap.get("country");
String phone = (String) phoneMap.get("phone");
// 提交用户信息
registerUser(country, phone);
}
}
});
registerPage.show(MainActivity.this);
}
});
}

public void registerUser(String country,String phone){
Random random = new Random();
String uidString = Math.abs(random.nextInt())+"";
String nickName = "BAAL";
SMSSDK.submitUserInfo(uidString, nickName, null, country, phone);
}
}
acticity_main.xml:

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="短信测试" />
</RelativeLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: