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

android-短信验证功能,Android实现获取短信验证码的功能以及自定义GUI短信验证详解…《Android实现获取短信验证码的功能以及自定义GUI短信验证详解》由会员分享,可在线阅读,更多相关《Android实现获取短信验证码的功能以及自定义GUI短信验证详解(8页珍藏版)》请在人人文库网上搜索。1、Android实现获取短信验证码的功能以及自定义GUI短信验证1、获取SDK请到官网下载最新版本的SDK,下载回来后解压,你会发现有好几个文件,其中“SMSSDK目录存放的是短…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

《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 对象,用于当服务器发送验证码后,提醒用户注意。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160046.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月25日 下午6:00
下一篇 2022年7月25日 下午6:00


相关推荐

  • 长轮询的使用实现_python 轮询

    长轮询的使用实现_python 轮询轮询(Polling):是指不管服务器端有没有更新,客户端(通常是指浏览器)都定时的发送请求进行查询,轮询的结果可能是服务器端有新的更新过来,也可能什么也没有,只是返回个空的信息。不管结果如何,客户端处理完后到下一个定时时间点将继续下一轮的轮询。长轮询(LongPolling):长轮询的服务其客户端是不做轮询的,客户端在发起一次请求后立即挂起,一直到服务器端有更新的时候,服务器才会主动推送信息到…

    2022年10月14日
    3
  • linux下的C语言编程(总结篇)

    linux下的C语言编程(总结篇)【声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:feixiaoxing@163.com】在Linux下面关于C语言的内容其实挺多的。不同的人关注的地方也不一样。关注系统设计的人可能更关注整个linux系统的结构;设计驱动的人可能更关注linux驱动的配置和实现;而我在这里所关注的只是linux应用层方面的内容,属于最基础的内容,当然也是最重要的内容。实际上对应于………

    2022年7月26日
    11
  • 块存储、文件存储、对象存储这三者和分布式文件存储系统的本质区别[通俗易懂]

    块存储、文件存储、对象存储这三者和分布式文件存储系统的本质区别[通俗易懂]https://blog.csdn.net/enweitech/article/details/51445087 块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-basedStorage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-basedStorageDevice)简称OSD。       首先,我们介绍这两种传统的存储类…

    2022年5月27日
    48
  • js获取键盘的keyCode——-Day42

    js获取键盘的keyCode——-Day42

    2021年11月29日
    46
  • 什么是分布式拒绝服务攻击?

    什么是分布式拒绝服务攻击?当多台机器一起运行以攻击一个目标时 就会发生分布式拒绝服务 DDoS 攻击 DDoS 攻击者通常利用僵尸网络 一组被劫持的互联网连接设备 进行大规模攻击 攻击者利用安全漏洞或设备弱点 使用命令和控制软件来控制众多设备 一旦获得控制 攻击者就可以命令他们的僵尸网络对目标进行 DDoS 攻击 在这种情况下 受感染的设备也是攻击的受害者 由受感染设备组成的僵尸网络也可能出租给其他潜在攻击者 僵尸网络通常可用于 雇佣攻击 服务 允许不熟练的用户发起 DDoS 攻击 DDoS 允许向目标发送成倍数的请求

    2026年3月17日
    2
  • oracle删除数据索引还会在吗_索引数据频繁修改

    oracle删除数据索引还会在吗_索引数据频繁修改首先查到表中的现有索引:select*fromuser_indexeswheretable_namein(‘表名’,”);删除索引:dropindex索引名;

    2025年9月14日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号