安卓----短信验证(借用第三方平台)

准备工作:

  ·安卓开发环境:基于eclipse的(studio也可以)

  ·SDK(短信验证的,mob.com的官网上下载),如图:

下载到本地解压就可以了

解压之后的目录文件

现在正式开始代码的实现部分:

  ·1.新建工程:file->new ->Android Application Project  给自己的工程命名,包名,设置图标等等

  ·2.进入工程,首先会看到activity_main.xml和MainActivity.java。我们先到.xml布局文件把界面稍微设置一下,

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent" >
 5
 6     <Button
 7         android:id="@+id/btn_bind_phone"
 8         android:layout_width="match_parent"
 9         android:layout_height="wrap_content"
10         android:layout_alignParentTop="true"
11         android:layout_centerHorizontal="true"
12         android:layout_marginTop="59dp"
13         android:text="@string/btn_bind_phone" //这个地方我把“注册或者绑定手机号”写到了字符串里
14         android:textColor="#464646"
15         android:textSize="16sp" />
16
17 </RelativeLayout>

看到效果如图:

  ·3.进mob.comg官网创建新应用,获取App Key & App secrete,,如图:

               图1                                                                                                                             图2

点击左上角的应用

点击添加应用

然后你会在主界面看到

  ·4.导入我们最开始下载的SDK,为下面的调用做准备。file——>import——>Android——>Existing Android Code Into Workspace——>next

然后点finish,导入后让SMSSDK,ShortMessageSDKGUI成为可以被引用的,步骤如下:

SMSSDK工程上右键--点击Properties

ShortMessageSDKGUI也按照上面的步骤做一次,然后再在自己的工程上右键,同样进入Properties

以上步骤全部完成后就可以写主函数了

  

  这里在导入SDK时可能会报错,这里主要是导入的工程可能不支持你的安卓SDK版本引起的,所以根据你自己的SDK版本修改AndroidMainfest.xml中的

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />//最低版本号,和最高版本号

 

  ·5.MainActivity.java里面的代码

 1 package com.example.riansms;
 2
 3 import java.util.HashMap;
 4 import java.util.Random;
 5
 6 import cn.smssdk.EventHandler;
 7 import cn.smssdk.SMSSDK;
 8 import cn.smssdk.gui.RegisterPage;
 9 import android.os.Bundle;
10 import android.app.Activity;
11 import android.view.Menu;
12 import android.view.View;
13 import android.view.View.OnClickListener;
14 import android.widget.Button;
15
16 public class MainActivity extends Activity {
17
18     Button mBtnBindPhone;
19     String APPKEY="*********";//上一步里面的App Key码
20     String APPSECRETE="**********";//上一步的App Secret
21
22     @Override
23     protected void onCreate(Bundle savedInstanceState) {
24         super.onCreate(savedInstanceState);
25         setContentView(R.layout.activity_main);
26
27         //初始化
28         SMSSDK.initSDK(this, APPKEY, APPSECRETE);
29         //配置信息 配置文件去配置权限,界面等 .xml
30
31         mBtnBindPhone=(Button) findViewById(R.id.btn_bind_phone);
32
33         //设置点击事件,匿名函数
34         mBtnBindPhone.setOnClickListener(new OnClickListener() {
35
36             @Override
37             public void onClick(View v) {
38                 //注册手机号
39                 RegisterPage registerPage=new RegisterPage();// 注册页面实例化
40
41                 //注册回调事件
42                 registerPage.setRegisterCallback(new EventHandler(){
43                     //事件完成后调用
44                     @Override
45                     public void afterEvent(int event, int result, Object data) {
46                         //判断是否已经完成
47                         if(result==SMSSDK.RESULT_COMPLETE){
48                             //获取数据data
49                             HashMap<String, Object> maps=(HashMap<String, Object>) data;
50                             //国家
51                             String country= (String) maps.get("country");
52                             //手机号
53                             String phone=(String) maps.get("phone");
54
55                             submitUserInfo(country,phone);
56                         }
57
58                     }
59                 });
60                 //显示注册界面,   完成验证过程,这里就可以随便跳转其他页面也可
61                 registerPage.show(MainActivity.this);
62
63             }
64         });
65     }
66
67     /*
68      * 提交用户信息
69      */
70     public void submitUserInfo(String country, String phone) {
71         Random r=new Random();
72         String uid=Math.abs(r.nextInt())+"";
73         String nickName="IMOOC";
74         SMSSDK.submitUserInfo(uid, nickName, null, country, phone);
75     }
76
77 }

  ·6.配置权限,注册activity

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.riansms"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6
 7     <uses-sdk
 8         android:minSdkVersion="8"
 9         android:targetSdkVersion="18" />
10
11     <!-- 权限 -->
12     <uses-permission android:name="android.permission.READ_CONTACTS"/>
13     <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
14     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
15     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
16     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
17     <uses-permission android:name="android.permission.INTERNET"/>
18     <uses-permission android:name="android.permission.RECEIVE_SMS"/>
19     <uses-permission android:name="android.permission.GET_TASKS"/>
20
21     <!--从22行到35行是自己新建工程时生成的,不要改变-->
22     <application
23         android:allowBackup="true"
24         android:icon="@drawable/ic_launcher"
25         android:label="@string/app_name"
26         android:theme="@style/AppTheme" >
27         <activity
28             android:name="com.example.riansms.MainActivity"
29             android:label="@string/app_name" >
30             <intent-filter>
31                 <action android:name="android.intent.action.MAIN" />
32
33                 <category android:name="android.intent.category.LAUNCHER" />
34             </intent-filter>
35         </activity>
36
37         <!-- 注册MobUIShell页面 -->
38         <activity
39             android:name="com.mob.tools.MobUIShell"
40             android:configChanges="keyboardHidden|orientation|screenSize"
41             android:theme="@android:style/Theme.Translucent.NoTitleBar"
42             android:windowSoftInputMode="stateHidden|adjustResize" />
43     </application>
44
45 </manifest>

至此,这个短信验证的工程完成,试着运行一下吧,

我的运行结果

1.

点击下一步就可以有“验证成功”的toast的提示消息。

我也可以进后台去查一查验证记录

以上来自慕课网视频讲解

时间: 2024-10-12 22:41:15

安卓----短信验证(借用第三方平台)的相关文章

安卓 短信验证MobSMS集成

概念及原理 了解MobSMS 主要API 初始化接口 短信验证接口 短信验证回调 代码部分 MobSMS添加到项目中: S1.下载官方SDK文件link: S2.添加并配置SDK库文件: 添加aar/jar文件到\app\libs项目目录 配置build.gradle repositories{ flatDir{ dirs 'libs' // SMSSDK-2.1.4.aar/SMSSDKGUI-2.1.4.aar文件目录 } } dependencies { compile fileTree(

[Android]手机短信验证功能

介绍 短信验证功能大家都很熟悉了.在很多地方都能见到,注册新用户或者短息验证支付等.短信验证利用短信验证码来注册会员,大大降低了非法注册,很大程度上提高了用户账户的安全性. 目前市面上已经有了很多提供短信验证的服务商,有收费的,也有免费的.如果是个人的开发者,用免费的是最划算的了!下面我就介绍一个免费的短信验证平台---Mob.com Mob平台提供的短信验证功能可以实现快速的验证和匹配通讯录好友功能,并且能为每个app每天提供10000条免费短信验证.很多开发者都想在自己的app中集成短信验证

Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自动填入功能结合实例)

用户注册或者找回密码时一般会用到短信验证功能,这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注册用户.获取SDK 大家可以自行注册,得到APPKEY和APPSECRET,然后下载SDK,包的导入方式如截图: 二.主要代码 SMSSendForRegisterActivity.java:(获取验证码页) package com.qiandaobao.activity; import java.util.regex.Mat

Android studio 2.1 集成第三方短信验证类库

新手弄第三方类库也许会很纳闷,有时弄几天都不行.那就让我带大家10分钟做一个简单的短信验证吧! 1.首先上Mob官网注册账号:http://www.mob.com/#/ 2.下载SMSSDK类库包:http://www.mob.com/#/downloadDetail/SMS/android 3.进入Mob账号后台 4.添加一个android应用 5.我们在android studio创建一个项目,在app项目下添加下面的4个包到libs下: 6.配置build文件 7.在AndroidMani

php梦网科技短信平台手机短信验证功能实现

1.表单传输页面 <?php session_start(); error_reporting(E_ALL & ~E_NOTICE); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http:

ASP.NET MVC+Bootstrap 实现短信验证

短信验证大家都已经很熟悉了,基本上每天都在接触手机短信的验证码,比如某宝,某东购物,网站注册,网上银行等等,都要验证我们的手机号码真实性.这样做有什么好处呢. 以前咱们在做网站的时候,为了提高用户注册的质量,防止用户恶意注册,都会设置一些小阻碍,如网页验证码.邮件认证等等.但是道高一尺魔高一丈,很快网站的这些设置都被一些网络黑客利用注册机逐一攻破,这些功能也就随之变成了摆设. 但是魔高一丈道高两丈,随着移动设备的普及,短信验证的功能横空出世.他的出现轻松的排除了传统网站验证码的弊端,还提升了网站

[android]ShareSDK——内容分享和短信验证

前言 新版本号ShareSDK的分享和短信验证,按官网的文档,都须要加入一个<Activity></Activity>标签,而分享和短息验证的这个标签内容都一样.会冲突. 解决的方法:分享用旧版本号,短信验证用新版本号. 后面会有解决的方法. 分享 导入project见初识ShareSDK--嵌入和登陆 <span style="font-size:24px;">OnekeyShare oks = new OnekeyShare(); //全部SSO

手机短信验证对用户有什么样的威胁呢?

本以为有了手机短信验证应该很安全了,没想到银行卡里的钱还是能被刷走,关键是一条短信都没收到.到底是怎么回事? 如今手机绑定最主要的表现方式就是通过短信验证码来证明自己的身份,验证的方式极其简单便捷,当人们在享受这份简单便捷的验证方式时,不由也为短信验证码来验证身份信息的方式产生了不信任感. 如果说安全的话,没有什么是真正的安全的,短信验证码也不是最安全的验证身份的方法.通过短信验证身份之所以能够在几年内疯长,无外乎是通过短信进行二次验证时,是成本最低,最简单便捷的验证方式,另一点是因为手机普及的

短信验证模块

最近使用到手机短信校验,分享一下我的实现方式,也希望能够了解更好的实现方式 使用短信平台:阿里大鱼(阿里巴巴) 使用语言:node.js 数据库:redis(可用任意数据库或文件操作替代) 实现代码如下: //安装依赖 //redis 数据库操作模块 npm install redis //taobao API 操作模块.ES6请使用topapi-node npm install top //AuthController var redisClient = require('../bin/red