本文实例为大家分享了Android实现短信验证功能的具体代码,供大家参考,具体内容如下
目标效果:
点金绑定手机号,输入手机号点击下一步,会收到一条验证码,验证码输入正确则提示验证成功,如果已经验证成功再次验证时,提示已经验证。
1.进入mob.com,注册账号,然后进入控制台,点击中间进入短信验证区。
2.点击左上角创建应用。
3.创建成功会显示应用的密钥,在初始化SDK中使用。
4.然后下载SDK.
5.下载后解压,SMSSDK文件夹中有如图两个项目,打开eclipse以Android项目形式导入。
6.eclipse中新建Android项目,右键项目,选择-Properties-Android-Add,导入刚才添加的两个项目。
7.配置完成,开始编写代码。
8.activity_main.xml页面放置Button控件。
activity_mian.xml页面:
代码语言:javascript复制<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"
tools:context=".MainActivity"
<Button
android:id="@ id/btn_bind_poone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="167dp"
android:onClick="bindPhone"
android:text="绑定手机号" /
</RelativeLayout
9.MainActivity.java页面进行获取信息并跳转。
MainActivity.java页面:
代码语言:javascript复制package com.example.notetest;
import java.util.HashMap;
import java.util.Random;
import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
import cn.smssdk.gui.RegisterPage;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button btn_bind_phone;
private String APPKEY="13e9653a7ff00";
private String APPSECRETE="a881cac45bce10a59ccf22203062e763";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化
SMSSDK.initSDK(this,APPKEY,APPSECRETE);
//配置信息
btn_bind_phone=(Button) findViewById(R.id.btn_bind_poone);
btn_bind_phone.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
//注册手机号
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);
}
}
});
//显示注册界面
registerPage.show(MainActivity.this);
}
});
}
/**
* 提交用户信息
* @param country国家
* @param phone手机号
*/
public void submitUserInfo(String country,String phone){
Random r=new Random();//随机数
String uid=Math.abs(r.nextInt()) "";//生成的随机数转换为正整数再转换为字符串
String nickName="MyName";//昵称
SMSSDK.submitUserInfo(uid, nickName, null, country, phone);
}
}
10.AndroidManifest.xml页面添加权限。
代码语言:javascript复制<!-- 权限 --
<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"/
11.AndroidManifest.xml页面导入文件。
代码语言:javascript复制</application 标签内:
<activity android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateAlwaysHidden|adjustResize"/
12.运行就可以显示目标效果了。
以上就是本文的全部内容,希望对大家的学习有所帮助。