Android实现短信验证功能

2020-11-04 10:12:56 浏览数 (1)

本文实例为大家分享了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.运行就可以显示目标效果了。

以上就是本文的全部内容,希望对大家的学习有所帮助。

0 人点赞