手游世界3输入手机号,也手机号莫名收到验证码码,可是注册按钮一直点,就是没反

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
最近更新的内容
常用在线小工具本周有仙侠世界等12款新网游测试
今日有女神联盟等7款新页游测试
勇者世界账号密码忘了怎么办?账号密码问题
来源:66游|
【编辑:夕阳下的胖纸】
网络游戏排行
单机游戏排行
一站到底(官方)iphone版
猎龙战记:口袋版 iphone版
秦时明月 iphone版
格拉尔战纪
魔物狩猎者 iphone版
游戏中玩家将体验一场穿越时空的破坏之旅,物理引擎设置的场景真实而又梦幻。
视频与评测
日本当红推币手游《金币斗恶龙》全面登陆中国!首支游戏剧情视频曝光。
关于影之刃江湖券怎么获得以及有什么用的提问,小编在此为您解答下。 江湖券怎么获得? 在游戏刷本中,可以跟玩家组队(系统推荐)或者好友组队。 在玩家头像左下角有白色券的标示当前位置:
&&&传奇世界手游首测激活码如何领取 传奇世界激活码预约流程介绍(图)
传奇世界手游首测激活码如何领取 传奇世界激活码预约流程介绍(图)
让大家期盼已久的《传奇世界手游》终于迎来首测啦,不过需要注意哦,传奇世界手游首测需要激活码才能玩,各位没有激活码的玩家朋友注意了哦,下面亿智蘑菇就来教教大家如何预约传奇世界手游首测激活码,方法非常简单,越早预约获得激活码的几率就越大!
最新消息称,《传奇世界手游》目前正在进行火热预约中,更有土豪专享10万元盲订特权哦。
官网预约方法如下:
第一步、进入传奇世界手游官网进行预约。
第二步、点击【即刻约定】,进入到预约栏,如下图所示。
第三步、如下所示,预约需要输入手机号,获取验证码然后填入验证码,点击【立即预定】即可。
以上就是关于传奇世界手游抢先预订的过程啦,更多传奇世界手游攻略资讯请点击查看。
Ta的热门文章
56人申请催眠大师S3乳胶枕
313人申请谜镜神笔
666人申请Savile猫头鹰海格儿童安全座椅
838人申请视贝E630扫地机
824人申请IronBot机器人套件
¥1099【乐歌M3S升降台】乐歌M3S升降台:久坐伤身 站站就好了
¥249熊大大: 石墨烯快充充电宝 自带充电头
¥79【EBER】EBER H3mini智能体脂秤:解析身体的秘密
¥1999【小吉】小吉迷你滚筒洗衣机:小身材 大讲究
¥3199【大朋VR】大朋VR一体机M2 Pro:让想象触手可及
你还可以分享到以下地方,获得10蘑菇参与!
免费试用:
微信添加"亿智蘑菇"获取我们的服务
微博添加"亿智蘑菇"获取我们的服务
下次自动登录
使用第三方登录IOS游戏王口袋世界内购教程 打造完美无限DP存档
15:44:59作者:不会玩来源:网络收集
  游戏王口袋世界是前几天刚登陆IOS平台的卡牌游戏,其实小狸飞刀也很喜欢这款游戏了,只是IOS版本的玩法和正统玩法差的太远,所以毫无兴趣了,好了说正题,这次带来的是游戏王口袋世界内购教程,因为游戏存档可能不通用,所以就直接放方法了。
  准备工具:
  1、首先你的IOS设备需要已经越狱了;
  2、需要已经安装了Iapfree内购工具,没有的自己去百度方法吧;
  3、如果你的设备中已经安装了Localliapstore,请先关闭,否则可能会造成内购失败;
  4、最后你需要一个vpn工具,这里小狸飞刀使用的是VPN in Touch,大家可以下载这个,也可以下载其他的VPN,只要能用就可以了。
  正式开始:
  1、下面游戏王口袋世界内购教程正式开始,首先打开你的VPN并且连接上,如果你连接成功了,在左上角会出现一个VPN的标志;
  2、然后打开游戏,进入DP内购界面,选择购买,就会跳出下面这个界面,我们选择左边的
点击左边的
  3、选择后会跳转到facebook登陆界面,如果你有账号,就直接登录,如果没有,就看下面的注册教程;
  4、选择最下面的【创建新账户】,就会来到下面的界面,注意,姓氏以及First Name最好填一个一样的英文名字,比如jack,因为小狸飞刀尝试过,如果填中文名会出错。电子邮件也要填写正确,后面要接受验证码,生日和性别可以随便填,而密码要记清楚哦。
选择创建新账户
  5、资料填写完毕后,点击注册,会跳转到下面的界面,让你输入验证码,我们进入刚才填写的邮箱,找到验证码并输入;
输入邮箱收到的验证码
  6、之后就是一切确认界面了,不用管,全部点击继续或者同意即可;
  7、最后会出现下面的界面,要求你填写手机号,这个是必须填写的,注意上面的国家选择中国,然后填入手机号选择继续;
选择好国家地区,输入手机号
  8、手机会接受到一个短信,输入验证码。
  9、之后后面就是什么寻找朋友之类的界面,我们可以直接点击右上角的【下一页】跳过去;
  10、游戏王口袋世界内购最后一步,最后注册完毕后,登陆一下你刚刚申请的facebook账号,注意账号就是你的邮箱,之后会来到下面的界面,说明注册成功;
  11、返回游戏的购买界面,再次点击购买并选择
  12、然后会来到下面这个界面,不断的点击确定。
  13、耐心等待一会,然后会自动返回游戏,这个时候再次购买商品,就成功实现游戏王口袋世界内购了。本篇教程结束。
欢迎阅读提供的“”。
IOS游戏王口袋世界内购教程 打造完美无限DP存档 相关内容
手机推荐游戏
手机游戏排行

我要回帖

更多关于 能收到验证码的手机号 的文章

 

随机推荐