android-短信验证功能,Android实现获取短信验证码的功能以及自定义GUI短信验证详解...

《Android实现获取短信验证码的功能以及自定义GUI短信验证详解》由会员分享,可在线阅读,更多相关《Android实现获取短信验证码的功能以及自定义GUI短信验证详解(8页珍藏版)》请在人人文库网上搜索。

1、Android实现获取短信验证码的功能以 及自定义GUI短信验证1、 获取SDK请到官网下载最新版本的 SDK,下载回来后解压,你会发现有好几个文件, 其中“ SMSSDK 目录存放的是短信 SDK的全部内容,“SMSSDKSample ”中保存了短信SDK的演示项目代 码,而“ SMSSDKSample.apk ” 则是“ SMSSDKSample ”的可执行程序。| McbCarnmor-2016X)03.12?9.jarapp是这个Project的一个 module。如要在这个 module里面使用带界面的SMSSDK。就将 MobCommons.jar,MobTools.jar,SMS。

2、SDK-2.0.2.aar,SMSSDKGUI-2.02aar 放到了 app 的 libs目录下。然后在 app目录下的build.gradle,加上红圈中的这几句就行了。注意版本号要一致。我这里用的是html view plain copy 在CODE上查看代码片派生到我的代码片repositoriesflatDirdirs libs /就是你放 aar的目录地址depe nden cies compile fileTree(i nclude: *.ja门,dir: libs)testCompile jun it:ju nit:4.12compile com.a ndroid.suppo比。

3、appcompat-v7:21.0.3compile name:SMSSDK-2.0.2,ext:aarcompile name:SMSSDKGUI-2.0.2,ext:aarSOuretSetS (nainiJniLibs, srcDirs = )epcsi: ;: i efi (flatDirf4inMbe低試mt的目)drpendencies【cotrile filelref intiudt: t. jnrh j. dir: P libs tcstCcnplie Juni t i juoit12eonpile h ciiiv- nndrnidr supportv? :21, Qr 3CQ。

4、uipi le nne :* SISSDK-2. 0. 2*. cit :* nar uanpil亡 no*?: SISSDKGU1 2. Q. 2f, ext : au*2、配置 AndroidManifest.xml打开您项目的AndroidManifest.xml ”在其中添加如下的权限:html view plain copy 在CODE上查看代码片派生到我的代码片如果使用自带的 GUI,需要再application 下添加如下 activity :html view plain copy 在CODE上查看代码片派生到我的代码片 vactivityan droid:n ame=com.。

5、mob.tools.MobUIShellan droid:theme=a ndroid:style/Theme.Tra nsluce nt.NoTitleBaran droid:c on figCha nges=keyboardHidde n| orie ntati on| scree nSizean droid:wi ndowSoftI nputMode=stateHidde n|adjustResize/3、添加代码启动SDK在您的项目启动时,调用下面的代码:html view plain copy 在CODE上查看代码片派生到我的代码片SMSSDK.initSDK(this,您的 app。

6、key,您的 appsecret);发送短信验证码短信SDK内置了开源的 GUI功能,您可以通过调用下面的代码打开短信验证页面: html view plain copy 在 CODE 上查看代码片派生到我的代码片 /打开注册页面RegisterPage registerPage = new RegisterPage(); registerPage.setRegisterCallback(new EventHandler() public void afterEvent(int event, int result, Object data) / 解析注册结果if (result = SMSSD。

7、K.RESULT_COMPLETE) SuppressWarnings(unchecked)HashMap phoneMap = (HashMap) data; String country = (String) phoneMap.get(country);String phone = (String) phoneMap.get(phone);/ 提交用户信息 registerUser(country, phone);); registerPage.show(context);html view plain copy 在 CODE 上查看代码片派生到我的代码片 / 提交用户信息private 。

8、void registerUser(String country, String phone) Random rnd = new Random(); int id = Math.abs(rnd.nextInt(); String uid = String.valueOf(id);String nickName = SmsSDK_User_ + uid;String avatar = AVATARSid % 12;SMSSDK.submitUserInfo(uid, nickName, avatar, country, phone);其中的 AVATARS 就是一个字符串数组,里面是头像的网络链。

9、接而已,这些在下载的 SDKDEMO 中可查看。4、下面看看如何自定义 GUI 短信验证而不是调用系统的 设计我们的布局文件:html view plain copy 在 CODE 上查看代码片派生到我的代码片 一个主 Activity 代码如下:html view plain copy 在 CODE 上查看代码片派生到我的代码片 public class MainActivity extends Activity implements OnClickListener private EditText phone;private EditText cord;private TextView n。

10、ow;private Button getCord;private Button saveCord;private String iPhone;private String iCord;private int time = 60;private boolean flag = true;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(。

11、R.layout.activity_main);init();SMSSDK.initSDK(this, , );EventHandler eh=new EventHandler()Overridepublic void afterEvent(int event, int result, Object data) Message msg = new Message();msg.arg1 = event;msg.arg2 = result;msg.obj = data;handler.sendMessage(msg);SMSSDK.registerEventHandler(eh);private 。

12、void init() phone = (EditText) findViewById(R.id.phone);cord = (EditText) findViewById(R.id.cord);now = (TextView) findViewById(R.id.now);getCord = (Button) findViewById(R.id.getcord); saveCord = (Button) findViewById(R.id.savecord); getCord.setOnClickListener(this);saveCord.setOnClickListener(this)。

13、;Overridepublic void onClick(View v) switch (v.getId() case R.id.getcord:if(!TextUtils.isEmpty(phone.getText().toString().trim() if(phone.getText().toString().trim().length()=11) iPhone = phone.getText().toString().trim(); SMSSDK.getVerificationCode(86,iPhone); cord.requestFocus(); getCord.setVisibi。

14、lity(View.GONE);elseToast.makeText(MainActivity.this, 请 输 入 完 整 电 话 号 码 Toast.LENGTH_LONG).swww.sm136.comhow();phone.requestFocus();elseToast.makeText(MainActivity.this, 请 输 入 您 的 电 话 号 码 Toast.LENGTH_LONG).show();phone.requestFocus();break;case R.id.savecord:if(!TextUtils.isEmpty(cord.getText().toS。

15、tring().trim() if(cord.getText().toString().trim().length()=4) iCord = cord.getText().toString().trim(); SMSSDK.submitVerificationCode(86, iPhone, iCord); flag = false;elseToast.makeText(MainActivity.this, 请 输 入 完 整 验 证 码 Toast.LENGTH_LONG).show();cord.requestFocus();elseToast.makeText(MainActivity.。

16、this, 请 输 入 验 证 码 Toast.LENGTH_LONG).show();cord.requestFocus();break;default:break;/验证码送成功后提示文字 private void reminderText() now.setVisibility(View.VISIBLE); handlerText.sendEmptyMessageDelayed(1, 1000);Handler handlerText =new Handler()public void handleMessage(Message msg) if(msg.what=1)if(time0)n。

17、ow.setText( 验证码已发送 +time+ 秒 ); time-;handlerText.sendEmptyMessageDelayed(1, 1000);elsenow.setText( 提示信息 ); time = 60;now.setVisibility(View.GONE); getCord.setVisibility(View.VISIBLE);elsecord.setText();now.setText(”提示信息”);time = 60;now.setVisibility(View.GONE); getCord.setVisibility(View.VISIBLE);Ha。

18、ndler handler=new Handler()Overridepublic void handleMessage(Message msg) / TODO Autnc630.como-generated method stub super.handleMessage(msg); int event = msg.arg1; int result = msg.arg2; Object data = msg.obj;Log.e(event, event=+event);if (result = SMSSDK.RESULT_COMPLETE) /短信注册成功后,返回 MainActivity, 。

19、然后提示新好友if (event = SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE)/ 提交验证码成功 ,验证通过Toast.makeText(getApplicationContext(), 验 证 码 校 验 成 功 , Toast.LENGTH_SHORT).show();handlerText.sendEmptyMessage(2); else if (event = SMSSDK.EVENT_GET_VERIFICATION_CODE)/服务器验证码发送成功reminderText();Toast.makeText(getApplicationConte。

20、xt(), 验 证 码 已 经 发 送 , Toast.LENGTH_SHORT).show();else if (event =SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES)/ 返回支持发送验证码的国家列表Toast.makeText(getApplicationContext(), 获 取 国 家 列 表 成 功 , Toast.LENGTH_SHORT).show(); else if(flag)getCord.setVisibility(View.VISIBLE);Toast.makeText(MainActivity.this, 验证码获取失败,请重新获取。

21、 , Toast.LENGTH_SHORT).show();phone.requestFocus();else(Throwable) data).printStackTrace();int resId = getStringRes(MainActivity.this, smssdk_network_error);Toast.makeText(MainActivity.this, 验 证 码 错 误 , Toast.LENGTH_SHORT).show();cord.selectAll(); if (resId 0) Toast.makeText(MainActivity.this, resId, Toast.LENGTH_SHORT).show();Overrideprotected void onDestroy() super.onDestroy();SMSSDK.unregisterAllEventHandler();注:appkey和appsecret在http:/dashboard.mob.com/注册一个账号后,创建一个发送短信 的应用,系统会自动为生成 appkey 和 appsecrethandlerText 是自定义设计的 Handker 对象,用于当服务器发送验证码后,提醒用户注意。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 分享到豆瓣,Android项目总结之社会化分享

随着现在社交网络的日益繁多,众多的社交客户端已占据了人们的大量时间,所以在我们的应用中具有一键分享的功能对提高我们产品的知名度有很大的帮助。新浪微博、腾讯微博、腾讯QQ、微信、QQ空间、豆瓣等众多知名社交站点,都是我们可以分享的去…

android实现自动横竖屏切换,android 中实现横竖屏切换【原创】

我们在使用android手机的时候,发现一些应用有横竖屏切换的功能,一般实现有以下几种方法:一、设置1.通过XML设置横竖屏切换在项目的 AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,它有以下几个…

超级管理器Android,超级文件管理器app

详情超级文件管理器app,一款帮助你管理手机内存的软件,还可以重命名,移动,删除文件,在Android平台上完美运行,并能够与其他OI系列软件结合使用! 能快速地查找到目标文件,十分方便用户管理自己手…

android miui ios,从iOS到Android——小米11及小米生态实际使用体验

从iOS到Android——小米11及小米生态实际使用体验2021-02-22 15:29:5693点赞155收藏131评论创作立场声明:文中的设备均为自购,无任何特定立场。2021年2月10日,我的iPhoneX手机突然黑屏,拿到Apple Store检测,经诊断是屏…

android amd cpu架构,AMD CPU 架构

同频率、同缓存容量的CPU才能比较出不同架构的优劣。目前Intel、AMD常见CPU架构性能从高到低:Intel Core i7 (Core i7/ Core i5)AMD K10.5 (PhenomII)Intel Core/Core2AMD K10 (Phenom)AMD K8AMD K7Intel P6 (PentiumM、Pentium3、Pentium2、PentiumPro)Intel NetBu…

p50会搭载鸿蒙吗,华为Mate40和华为P50也会搭载鸿蒙,华为Mate30跌至白菜价让路

原标题:华为Mate40和华为P50也会搭载鸿蒙,华为Mate30跌至白菜价让路华为Mate40和华为P50也会搭载鸿蒙,华为Mate30跌至白菜价让路!华为P50Pro的机身部分后置摄像头模块的外观有发生了改变,可以看到华为P50Pro并没有将所…

android 天气接口简书,天气API接口说明

天气API接口稳定的确实没有,除非是天气官方提供的, 但是我观察了下,要是合作伙伴才有开放的可能。其他的,例如:百度 APIStore、一些同学在其他网站上抓包下来的接口,以及什么各种收费的 API,都没…

html中如何在标题中加样式,html title属性 样式

css 中title属性怎样设置文本样式?如加颜色、设置打开开发工具,新建一个HTML文件。使用font-family属性设置,字体代码:.demo1{font-family: "microsoft yahei";}。使用font-size属性设置字体的大小代码:.dem…

计算机科学计算第二版第四章,大连理工大学 计算机科学计算 第四章2.pdf

大连理工大学 计算机科学计算 第四章2第4章 插值与逼近4.2.4 Hermite插 值4.2.4 Hermite插值理论和应用中提出的某些插值问题,要求插值函数p (x)具有一定的光滑度,即在插值节点处满足一定的导数条件,这类插值问题称为Hermite插值问题。 Hermi…

html如何算小于0判断错误,如果长度小于0在javascript中提醒

如果当前长度为0个字符...我想提醒没有剩下的字符!10$(document).ready(function(){//alert("test!!");var combined_text_length 0;var limit 10;$("input.text_question_1").live(keyup, function (e){current_length 0;$.each($("in…

图像识别利用计算机对图像进行,图像识别方法

图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。图像识别是人工智能的一个重要领域。主要的图像识别方法有基于神经网络的图像识别方法、基于小波矩的图像识别方法等。中文名图像识别方法外文名image recogn…

linux将db2账户添加到组_超实用的shell脚本--Linux安全加固设置,值得收藏

概述近几年来Internet变得更加不安全了。网络的通信量日益加大,越来越多的重要交易正在通过网络完成,与此同时数据被损坏、截取和修改的风险也在增加。 只要有值得偷窃的东西就会有想办法窃取它的人。Internet的今天比过去任何时候都更真实地体现出这一点…

微型计算机指令系统例题,微机原理复习题(指令系统)

微机原理复习题(指令系统)《微机原理》复习题二一、选择题1、假设外部设备的状态字已经读入AL寄存器,其中最低位为"0",表示外部设备"忙", 为了判断外部设备是否"忙"而又不破坏其它状态位,应选用下列( )组指令。A. RCR AL, 01H JZ Label B. CMP A…

迷你世界无人驾驶地铁火车_出口伊斯坦布尔地铁列车“云下线”

轨道世界 RailWorld开放|共享|价值导读 ID:RailWorld出口伊斯坦布尔地铁列车“云下线”全自动无人驾驶,全寿命远程跟踪、诊断和维护,全车内循环感应系统,极具土耳其风情的外观及内饰……7月14日&#xff0c…

易安卓 html5,Developing a Multi Platforms Web Applications for Mobile Device Using HTML5

摘要:As the mobile phone has become more mature, the continuous development of both hardware and software has become increasingly popular. Nowadays the need to develop mobile application that can run over multi-platform is an essential problem b…

java: 程序包com.github.pagehelper不存在_Rust语言正在兴起,Java、Python、C的末日来临?...

您可能从未用Mozilla创建的开源,系统级编程语言Rust编写任何东西,但是您可能会在某个时候写。在Stack Overflow的2019年开发人员调查中,开发人员将Rust评为“最受欢迎的”语言,而Redmonk在半年的语言排名中,Rust 跻身前…

计算机应用与网络文化,计算机文化与应用基础

全国计算机等级考试一级(2013年版)教学用书。主要介绍了计算机基础概述、中文Windows 7 操作、计算机网络基础、中文Word 2010操作、中文Excel 2010操作、中文PowerPoint 2010操作等内容。书 名计算机文化基础(Windows 7Office 2010)作 者李淑华ISBN978-7-04-037945-7页 …

惠安七号机器人创意园_我是F518创意园,请为我投票!

春去秋来,一个轮回又一年。“ 你知道F518创意园开园多久了吗?对的,13年!”作为深圳实施“腾笼换鸟”首批项目和深圳申请联合国科教文组织“设计之都”重要组成部分,我们开园至今已经13年了!白驹过隙&#x…

好看的按钮html,html-好看的CSS按钮

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼CSS实现的几个非常漂亮的按钮--建站学.btn {BORDER-RIGHT: #7b9ebd 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #7b9ebd1px solid; PADDING-LEFT: 2px; FONT-SIZE: 12px; FILTER:progid:DXImageTransform.Microsoft.Gradient(Gra…

开设计算机应用基础这门学科意义,计算机应用基础与专业课程整合思考.doc

计算机应用基础与专业课程整合思考计算机应用基础与专业课程整合思考[摘 要]在职业学校中,计算机应用基础作为一门公共必修课,其教学内容对很多专业课都具有极高的应用价值。做好计算机应用基础与专业课程的整合,可以有效地促进学生对专业知识…