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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA中读写文件操作

    JAVA中读写文件操作java文件读取有两种类型,我这里的是字节流的读取操作packagetest1;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importja…

    2022年7月14日
    15
  • Linux学习——Shell基础[通俗易懂]

    Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至编写一些程序。Shell 还是一个功能强大的编程,易编写、易调试、灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。用户通过shell向Linux内核发指令,Linux内核通过shell将返回

    2022年2月26日
    54
  • 熊孩子说“你没看过奥特曼”,赶紧用Python学习一下,没想到[通俗易懂]

    熊孩子说“你没看过奥特曼”,赶紧用Python学习一下,没想到[通俗易懂]奥特曼原来有这么多呀!

    2022年5月3日
    54
  • Java WeakHashMap

    Java WeakHashMap作为一个java开发者肯定都知道且使用HashMap,但估计大部分人都不太知道WeakHashMap。从类定义上来看,它和普通的HashMap一样,继承了AbstractMap类和实现了Map接口,也就是说它有着与HashMap差不多的功能。那么既然jdk已经提供了HashMap,为什么还要再提供一个WeakHashMap呢?黑格尔曾经说过,存在必合理,接下来我们来看下为什么有WeakHashM…

    2022年5月31日
    32
  • Ubuntu下使用SSH 命令用于登录远程桌面

    Ubuntu下使用SSH 命令用于登录远程桌面问题描述基础:ssh命令连接step1:SSH程序的安装step2:服务器启动ssh服务step3:查询服务器的ip地址step4:在本地主机端ssh远程登录服务器step5:退出远程登录进阶:利用公钥省去口令输入step1生成密钥对step2复制公钥至服务器参考资料问题描述做DL的经常需要在一台电脑(本地主机)上写代码,另一台电脑(服务器…

    2022年10月21日
    2
  • maven的groupid是什么(maven parent标签)

    GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

    2022年4月17日
    208

发表回复

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

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