手机获取短信验证码——自定义UI界面
在上一篇博客中,简单实现了获取短信验证码的功能,那么在本文中,主要介绍短信SDK内置(无UI界面)的方法,对外的类主要有:SMSSDK和EventHandler
先看一波xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><EditTextandroid:id="@+id/ed1"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="2"android:hint="请输入手机号"/><Buttonandroid:id="@+id/btn_get"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="获取验证码"/></LinearLayout><EditTextandroid:id="@+id/ed2"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入验证码"android:layout_marginTop="10dp"/><Buttonandroid:id="@+id/btn_login"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:text="注册"/>
</LinearLayout>
配置权限等等就不再贴了,首先得到用户输入的值:
public void getNum() {phoneNumber = ed1.getText().toString().trim();code = ed2.getText().toString().trim();}
其次初始化接口:
<span style="font-size:14px;">public void regist() {EventHandler eh = new EventHandler() {@Overridepublic void afterEvent(int event, int result, Object data) {if (result == SMSSDK.RESULT_COMPLETE) {//回调完成if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {//提交验证码成功runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(MainActivity.this, "您已验证成功,请您订餐", Toast.LENGTH_SHORT).show();}});} else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {//获取验证码成功runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(MainActivity.this, "已发送验证码,请查收", Toast.LENGTH_SHORT).show();}});} else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES) {//返回支持发送验证码的国家列表}} else {runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(MainActivity.this, "操作失败,请重新获取验证码", Toast.LENGTH_SHORT).show();}});((Throwable) data).printStackTrace();}}};SMSSDK.registerEventHandler(eh); //注册短信回调}</span>
设置点击事件,判断用户输入的值是否为空或有误
<span style="font-size:14px;">public void onClick(View view) {getNum();switch (view.getId()) {case R.id.btn_get:regist();//调用注册短信发送的回调接口//判断是否为null或“”if (TextUtils.isEmpty(phoneNumber)) {Toast.makeText(MainActivity.this, "请输入合法的手机号", Toast.LENGTH_SHORT).show();} else {SMSSDK.getVerificationCode("86", phoneNumber);}break;case R.id.btn_login:regist();if (TextUtils.isEmpty(phoneNumber) && TextUtils.isEmpty(code)) {Toast.makeText(MainActivity.this, "请检验您输入的信息", Toast.LENGTH_SHORT).show();} else {SMSSDK.submitVerificationCode("86", phoneNumber, code);}break;}}</span>
getSupportedCountries()获取短信目前支持的国家列表,在监听中返回getVerificationCode(String country, String phone)
请求获取短信验证码,在监听中返回
submitVerificationCode(String country, String phone, String code)提交短信验证码,在监听中返回
现在可以运行自己的代码了,撒花~
手机获取短信验证码——自定义UI界面相关推荐
- 手机获取短信验证码登陆
主要是后台代码实现, 可以登陆容联云通讯,https://www.yuntongxun.com/?ly=baidu-pz-p&qd=cpc&cp=ppc&xl=null& ...
- vue中获取短信验证码IOS手机问题
vue使用中发现了一个问题,由于ios手机获取短信验证码后,验证码会直接显示在键盘上,点击键盘上的验证码即可给对应的input赋值,但是在项目开发中发现输入框的取值为空 经过排查是因为通过v-mode ...
- vue中获取短信验证码功能IOS手机问题
vue使用中发现了一个问题,由于ios手机获取短信验证码后,验证码会直接显示在键盘上,点击键盘上的验证码即可给对应的input赋值,但是在项目开发中发现输入框的取值为空 经过排查是因为通过v-mode ...
- android+自定义发彩信,Android实现获取短信验证码的功能以及自定义GUI短信验证
短信验证功能大家都很熟悉了.在很多地方都能见到,注册新用户或者短息验证支付等.短信验证利用短信验证码来注册会员,大大降低了非法注册,很大程度上提高了用户账户的安全性. 目前市面上已经有了很多提供短信验 ...
- android-短信验证功能,Android实现获取短信验证码的功能以及自定义GUI短信验证详解...
<Android实现获取短信验证码的功能以及自定义GUI短信验证详解>由会员分享,可在线阅读,更多相关<Android实现获取短信验证码的功能以及自定义GUI短信验证详解(8页珍藏版 ...
- Jmeter-函数助手-随机函数的使用(模拟1000+个手机用户获取短信验证码)
如何模拟1000个手机用户登录? 现在很多APP或者网站都需要使用手机号进行登录,那么使用手机号进行登录时,必然就需要"手机号+短信验证码"才可登录成功. 在实际测试过程中,测试人 ...
- iOS点击获取短信验证码按钮
概述 iOS点击获取短信验证码按钮, 由于 Demo整体测试运行效果 , 整个修改密码界面都已展现, 并附送正则表达式及修改密码逻辑. 详细 代码下载:http://www.demodashi.com ...
- SpringBoot 实现手机发送短信验证码
手机发送短信 内容 一.手机发送短信 1. 前端界面代码 2. UserInfoController 控制器 3. application.properties 配置类文件 4. 具体实现 总结 内容 ...
- 快速集成APP注册页面免费获取短信验证码功能
前言: 最近这段时间都忙着优化自己的个人项目,好久没来总结分享了,今天就抽空跟大家分享一下快速集成APP注册页面免费获取短信验证码功能吧. 一.使用第三方短信SDK前期准备: 在这里我是使用了第三方免 ...
最新文章
- Xshell6连Linux
- centos安装zookeeper
- iMX6开发板-uboot-网络设置和测试
- javafx swing_JavaFX技巧9:请勿混用Swing / JavaFX
- Linux+Tomcat建站笔记(JDK,Mysql,Vsftpd,Iptables等配置)
- java.nio教程_Java NIO系列教程(三) Buffer
- 网络编程之OSI七层协议略析
- python3 format函数_【Python3 第三日】%和format格式化输出 函数
- 当心异步刷新后的脚本文件加载
- 理解vue中的父组件,子组件
- Java IO流学习总结(1)
- flask不运行主函数解决方法
- Stick ------ 剪枝神题
- matlab gui 滤波器,基于Matlab GUI的数字滤波器设计及其应用
- 建筑工程师的转行学计算机科学与技术的抉择
- 从头认识一遍“货到人”拣选
- iOS开发面试和底层学习视频整理合集
- 寒假实践之—大奖赛计分系统
- 上楼梯(df和dp解法)
- 帮Customer Architecture写的小脚本