我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android实现短信验证功能的代码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android实现短信验证功能的代码

在我们现在开发APP过程中,当用户注册时,短信验证是必不可少的操作,这里我们就是用一个免费的第三方短信验证SDK-MOP

首先看下效果图


这里写图片描述

获取AppKey和AppSecret

首先进入官网,登录(没有帐号的自己去注册一个)。鼠标移动到右侧头像处,点击进入后台。


这里写图片描述

官网首页

选择SecurityCodeSDK。


这里写图片描述

选择短信SDK

进入后台页面后,点击添加按钮、填写应用名称(这个可以随便写)、选择Android后,点击添加即可。

这里写图片描述 

添加应用

添加成功后,就会进入以下界面,在这里就可以看到刚刚申请成功的App Key和App Secret

这里写图片描述

下载SDK

下载SDK

官方文档

这里我们选择AndroidStudio版本

下载之后解压,有一个SMSSDK文件夹 里面有4个包 ,把他们放到我们项目的libs下


这里写图片描述

之后打开app下的buildgradle,按照下面的图进行操作


这里写图片描述

这是AndroidStudio代码


repositories{ flatDir{ dirs 'libs' }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile name:'SMSSDK-2.1.1',ext:'aar' compile name:'SMSSDKGUI-2.1.1',ext:'aar' compile 'com.android.support:appcompat-v7:23.3.0'}

配置AndroidManifest.xml

加权限


 <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.READ_SMS" /> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

然后打“application”下添加如下activity:


<activity  android:name="com.mob.tools.MobUIShell"  android:theme="@android:style/Theme.Translucent.NoTitleBar"  android:configChanges="keyboardHidden|orientation|screenSize"  android:windowSoftInputMode="stateHidden|adjustResize"/>

使用SMSSDK发送短信验证码,并验证

核心方法

1.初始化SDK,单例,可以多次调用;任何方法调用前,必须先初始化


initSDK(Context context, String appkey, String appSecrect)

2.注册回调接口


registerEventHandler(EventHandler handler)

3.注销回调接口


unregisterEventHandler(EventHandler handler)

4.接收回调的类


EventHandler

initSDK方法是短信SDK的入口,需要传递您从ShareSDK应用管理后台中注册的应用AppKey和AppSecrete,如果填写错误,后续的操作都将不能进行。registerEventHandler用来往SMSSDK中注册一个事件接收器,SMSSDK允许开发者注册任意数量的接收器,所有接收器都会在事件 被触发时收到消息。

registerEventHandler必须和unregisterEventHandler配套使用,否则可能造成内存泄漏。

5.获取短信目前支持的国家列表,在监听中返回


getSupportedCountries()

6.请求获取短信验证码,在监听中返回


getVerificationCode(String country, String phone)

7.提交短信验证码,在监听中返回


submitVerificationCode(String country, String phone, String code)

getVerificationCode用于向服务器请求发送验证码的服务,需要传递国家代号和接收验证码的手机号码,支持此服务的国家代码在 getSupportedCountries中获取。请求getVerificationCode的时间间隔不应该小于60秒,否则服务端会返回“操作过 于频繁”的错误 submitVerificationCode用于向服务器提交接收到的短信验证码,验证成功后会通过EventHandler返回国家代码和电话号码。

具体实现步骤

初始化SDK。

// 填写从短信SDK应用后台注册得到的APPKEY


 private static String APPKEY = "154e3e410abc3";

// 填写从短信SDK应用后台注册得到的APPSECRET


 private static String APPSECRET = "05713446f9786e2ad096c46fd4735dfe";SMSSDK.initSDK(context, APPKEY, APPSECRET);

声明EventHandler。(获取验证码成功、提交验证码成功等回调都在EventHandler中实现)


 EventHandler eh=new EventHandler() {  @Override  public void afterEvent(int event, int result, Object data) {  if (result == SMSSDK.RESULT_COMPLETE) {   //回调完成   if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {   //提交验证码成功   Log.i("EventHandler", "提交验证码成功");   }else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){   //获取验证码成功   Log.i("EventHandler", "获取验证码成功");   }else if (event ==SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){   //返回支持发送验证码的国家列表   Log.i("EventHandler", "返回支持发送验证码的国家列表");   }  }else{           ((Throwable)data).printStackTrace();   Log.i("EventHandler", "回调失败");  }  } };

这里需要注意一下:afterEvent()并不在主线程中,因此回调完成的时候不能在afterEvent()中执行更新UI,若需要执行UI操作请使用Handler。

注册短信回调


SMSSDK.registerEventHandler(eh); //注册短信回调

这样就完成SDK的初始化和短信回调的注册了,接下来只要调用发送短信和验证验证码的接口就行了

销毁回调监听接口


 SMSSDK.unregisterAllEventHandler();

打开注册界面


 // 打开注册页面  RegisterPage registerPage = new RegisterPage();  registerPage.setRegisterCallback(new EventHandler() {   public void afterEvent(int event, int result, Object data) {   // 解析注册结果   if (result == SMSSDK.RESULT_COMPLETE) {    @SuppressWarnings("unchecked")    HashMap<String,Object> phoneMap = (HashMap<String, Object>) data;    String country = (String) phoneMap.get("country");    String phone = (String) phoneMap.get("phone");    // 提交用户信息    registerUser(country, phone);   }   }  });  registerPage.show(this);

这样就完成了简单的短信验证了

PS:

把项目上传到Github上了,附上地址

Github项目地址

以上所述是小编给大家介绍的Android实现短信验证功能的代码的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!

您可能感兴趣的文章:Android获取和读取短信验证码的实现方法Android如何通过手机自动获取短信验证码Android实现自动提取短信验证码功能Android开发之获取短信验证码后按钮背景变化并且出现倒计时Android实现短信验证码自动填写功能


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android实现短信验证功能的代码

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android实现短信验证功能的代码

在我们现在开发APP过程中,当用户注册时,短信验证是必不可少的操作,这里我们就是用一个免费的第三方短信验证SDK-MOP 首先看下效果图 获取AppKey和AppSecret 首先进入官网,登录(没有帐号的自己去注册一个)。鼠标移动到右侧头
2022-06-06

Nodejs实现短信验证码功能

使用Nodejs的开发者愈来越多,基于Nodejs的后台开发也多了起来,像短信验证码、短信群发、国际短信这些需求,完全可以采用第三方接口来实现,云片就提供了这样的接口。 Nodejs// 修改为您的apikey.可在官网(https://w
2022-06-04

Android实现短信验证码自动填写功能

本实例为大家分享了Android实现短信验证码自动填写功能,供大家参考,具体内容如下 实现思路很简单:1、在需要输入验证码的Activity代码注册监听短信的广播2、拦截短信,获取其中的验证码3、回写到EditTextprivate Sms
2022-06-06

java如何实现短信验证码功能

要在Java中实现短信验证码功能,你可以按照以下步骤进行操作:1. 选择一个可靠的短信服务提供商:首先,你需要选择一个可靠的短信服务提供商,这些提供商通常会提供API来发送和验证短信验证码。2. 注册并获取API密钥:注册并登录到所选的短信
2023-10-21

Android 验证码功能实现代码

先给大家展示下效果图,如果大家感觉还不错,请参考实现代码很简单的一个例子,点击刷新验证码,刷新当前显示的验证码,点击确定,如果输入的和显示的匹配,就会跳转到下一个界面中,这里只是实现了跳转,并没有进行其它的操作 好了 接下来就是代码了 首先
2022-06-06

Android实现短信验证码自动拦截读取功能

本文实例为大家分享了Android短信验证码自动拦截读取 的具体代码,供大家参考,具体内容如下 知识准备: 1.观察者模式的理解【文章稍后来到~~】 2.Android的Cursor使用【Android基础】 3.正则表达式使用【Jav
2022-06-06

Android短信验证码自动填充功能

笔者发现在很多应用中,都有自动获取验证码的功能:点击获取验证码按钮,收到短信,当前应用不需要退出程序就可以获取到短信中的验证码,并自动填充。觉得这种用户体验很赞,无须用户在短信和App之间来回切换,这个功能是如何实现的呢?其实很简单,就是用
2022-06-06

Android自动获取短信验证码功能

先给大家展示下效果图,如果大家感觉不错,请参考实现代码。1.自定义监听类 public class SMSContentObserver extends ContentObserver {pub
2022-06-06

Android实现发送短信验证码倒计时功能示例

一、简介: 开发中在用户注册或找回密码之类的功能,经常会遇到获取短信验证码,获取验证码后需要等待1分钟倒计时,这段时间是不能再次发送短信请求的。 效果图:二、实现步骤: 1、一个关键类:CountDownTimer(Android系统自带的
2022-06-06

Android中用Bmob实现短信验证码功能的方法详解

这篇文章主要介绍发送验证码和校验验证码的功能,用到一个第三方平台Bmob,那Bmob是什么呢?Bmob可以开发一个云存储的移动应用软件,他提供了大量的标准的API接口,根据需要接入相关服务,开发者可以更加专注于应用的开发,让产品交付更快速
2022-06-06

Android自动填充短信验证码功能(demo)

项目需求: Android开发中用户登录往会用到短信验证的功能,如果让用户先查看短信,然后再回到界面填写验证码,用户体验不是很好,有时就需要实现验证码的自动填写功能。 做法: 我以前的做法是先创建一个广播接收器,接受短信变化的广播,收到广播
2022-06-06

java怎么实现注册的短信验证码功能

本篇内容介绍了“java怎么实现注册的短信验证码功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!短信验证码实现流程1、构造手机验证码,生成
2023-06-02

java如何实现短信验证码登录功能

小编给大家分享一下java如何实现短信验证码登录功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!业务案例如下所示,是一个大家熟知的采用短信登录的入口输入手机号之
2023-06-25

短信验证码校验功能如何利用SpringBoot实现

本篇文章为大家展示了短信验证码校验功能如何利用SpringBoot实现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。思路用户输入手机号后,点击按钮获取验证码。并设置冷却时间,防止用户频繁点击。后台生
2023-05-31

Java如何实现发送短信验证码功能

小编给大家分享一下Java如何实现发送短信验证码功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一个发送短信验证码的功能,使用的是信易通的短信平台接口,然后在J
2023-05-30

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录