手机号验证码15222015215的验证码是多少

手机号和验证码是多少?_百度知道虚拟手机接收验证码系统说明_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
虚拟手机接收验证码系统说明
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢手机短信验证码安全吗?_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
手机短信验证码安全吗?
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢Android手机号注册、绑定手机号获取短信验证码实例
投稿:lijiao
字体:[ ] 类型:转载 时间:
这篇文章主要为大家详细介绍了Android手机号注册、绑定手机号获取短信验证码实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文写了一个常见的功能——手机app中注册或绑定手机号的获取验证码的功能,也就是短信验证功能
  具体效果就是,你在注册界面填写手机号,点击获取验证码按钮,---然后会收到验证短信,填入验证码后点击注册按钮,如果验证正确就可以跳转到另外一个界面
  1.首先大家需要在mob官网注册一个账号,mob是一个免费的短信验证平台
  2.在后台创建应用
  3.下载对应的sdk
  4.将sdk作为一个library导入到你的项目中
  5.现在就可以在你的项目中编写代码使用mob提供的这个功能了
具体代码如下:
首先配置文件加入权限:
&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" /&
然后声明activity(这是固定的不能修改,直接复制粘贴到你的配置文件就行)
android:name="cn.smssdk.SMSSDKUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize"/&
注册界面xml布局文件
&?xml version="1.0" encoding="utf-8"?&
&RelativeLayout xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" &
android:id="@+id/login_input_phone_et"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="107dp"
android:ems="10"
android:hint="请输入手机号"
android:inputType="phone" /&
&requestFocus /&
android:id="@+id/login_input_code_et"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/login_input_phone_et"
android:layout_below="@+id/login_input_phone_et"
android:layout_marginTop="44dp"
android:hint="请输入验证码"
android:inputType="textPassword" &
&/EditText&
android:id="@+id/login_request_code_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/login_input_phone_et"
android:layout_alignTop="@+id/login_input_code_et"
android:text="获取验证码" /&
android:id="@+id/login_commit_btn"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/login_input_code_et"
android:layout_below="@+id/login_input_code_et"
android:layout_marginTop="44dp"
android:text="注册" /&
&/RelativeLayout&
注册界面activity
package com.mobdemo.
import cn.smssdk.EventH
import cn.smssdk.SMSSDK;
import android.app.A
import android.content.I
import android.os.B
import android.os.H
import android.os.M
import android.text.TextU
import android.util.L
import android.view.G
import android.view.V
import android.view.View.OnClickL
import android.widget.B
import android.widget.EditT
import android.widget.FrameL
import android.widget.ProgressB
import android.widget.T
import android.widget.FrameLayout.LayoutP
public class LoginActivity extends Activity implements OnClickListener {
String APPKEY = "5";
String APPSECRETE = "69d0e6cb16";
// 手机号输入框
private EditText inputPhoneEt;
// 验证码输入框
private EditText inputCodeEt;
// 获取验证码按钮
private Button requestCodeB
// 注册按钮
private Button commitB
int i = 30;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
* 初始化控件
private void init() {
inputPhoneEt = (EditText) findViewById(R.id.login_input_phone_et);
inputCodeEt = (EditText) findViewById(R.id.login_input_code_et);
requestCodeBtn = (Button) findViewById(R.id.login_request_code_btn);
commitBtn = (Button) findViewById(R.id.login_commit_btn);
requestCodeBtn.setOnClickListener(this);
commitBtn.setOnClickListener(this);
// 启动短信验证sdk
SMSSDK.initSDK(this, APPKEY, APPSECRETE);
EventHandler eventHandler = new EventHandler(){
public void afterEvent(int event, int result, Object data) {
Message msg = new Message();
msg.arg1 =
msg.arg2 =
handler.sendMessage(msg);
//注册回调监听接口
SMSSDK.registerEventHandler(eventHandler);
public void onClick(View v) {
String phoneNums = inputPhoneEt.getText().toString();
switch (v.getId()) {
case R.id.login_request_code_btn:
// 1. 通过规则判断手机号
if (!judgePhoneNums(phoneNums)) {
} // 2. 通过sdk发送短信验证
SMSSDK.getVerificationCode("86", phoneNums);
// 3. 把按钮变成不可点击,并且显示倒计时(正在获取)
requestCodeBtn.setClickable(false);
requestCodeBtn.setText("重新发送(" + i + ")");
new Thread(new Runnable() {
public void run() {
for (; i & 0; i--) {
handler.sendEmptyMessage(-9);
if (i &= 0) {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
handler.sendEmptyMessage(-8);
}).start();
case R.id.login_commit_btn:
//将收到的验证码和手机号提交再次核对
SMSSDK.submitVerificationCode("86", phoneNums, inputCodeEt
.getText().toString());
//createProgressBar();
Handler handler = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == -9) {
requestCodeBtn.setText("重新发送(" + i + ")");
} else if (msg.what == -8) {
requestCodeBtn.setText("获取验证码");
requestCodeBtn.setClickable(true);
int event = msg.arg1;
int result = msg.arg2;
Object data = msg.
Log.e("event", "event=" + event);
if (result == SMSSDK.RESULT_COMPLETE) {
// 短信注册成功后,返回MainActivity,然后提示
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {// 提交验证码成功
Toast.makeText(getApplicationContext(), "提交验证码成功",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent(LoginActivity.this,
MainActivity.class);
startActivity(intent);
} else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {
Toast.makeText(getApplicationContext(), "正在获取验证码",
Toast.LENGTH_SHORT).show();
((Throwable) data).printStackTrace();
* 判断手机号码是否合理
* @param phoneNums
private boolean judgePhoneNums(String phoneNums) {
if (isMatchLength(phoneNums, 11)
&& isMobileNO(phoneNums)) {
Toast.makeText(this, "手机号码输入有误!",Toast.LENGTH_SHORT).show();
* 判断一个字符串的位数
* @param str
* @param length
public static boolean isMatchLength(String str, int length) {
if (str.isEmpty()) {
return str.length() == length ? true :
* 验证手机格式
public static boolean isMobileNO(String mobileNums) {
* 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
* 联通:130、131、132、152、155、156、185、186 电信:133、153、180、189、(1349卫通)
* 总结起来就是第一位必定为1,第二位必定为3或5或8,其他位置的可以为0-9
String telRegex = "[1][358]\\d{9}";// "[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。
if (TextUtils.isEmpty(mobileNums))
return mobileNums.matches(telRegex);
* progressbar
private void createProgressBar() {
FrameLayout layout = (FrameLayout) findViewById(android.R.id.content);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.CENTER;
ProgressBar mProBar = new ProgressBar(this);
mProBar.setLayoutParams(layoutParams);
mProBar.setVisibility(View.VISIBLE);
layout.addView(mProBar);
protected void onDestroy() {
SMSSDK.unregisterAllEventHandler();
super.onDestroy();
验证成功的界面我就不写了,希望大家通过这个实例可以学习掌握Android获取短信验证码的实现技巧。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 模拟手机号接收验证码 的文章

 

随机推荐