Mob短信验证
来源:互联网 发布:java书籍推荐 知乎 编辑:程序博客网 时间:2024/05/17 16:16
最近发现Mob短信验证还是很好用的,顺便使用了一下,记录一下使用步骤.Mob短信注册分为通过自己服务端验证和App自身验证,我这边使用的App与Mob验证.
一,As配置文件
AS版本的SMSSDK目录下包含以下内容:smssdk_as目录结构MobCommons.jar:Mob 通用公共库(必须)MobTools.jar:Mob 工具公共库(必须)SMSSDK-<version>.aar:SMSSDK 核心(必须)SMSSDKGUI-<version>.aar:SMSSDK GUI 开源库(非必须)HowToUse.txt:使用说明注意:如果你同时使用ShareSDK,保留一份公共库就行(公共库版本一致或兼容)。2.1、将以上文件按需放入Android Studio项目所要使用SMSSDK的Module所在的Libs里面:smssdk_导入as项目2.2、在Module的build.gradle里面将libs加入仓库(repositories):repositories{ flatDir{ dirs 'libs' //就是你放aar的目录地址 }}2.3、在Module的build.gradle里面添加依赖(dependencies ):dependencies { ....//你的其他依赖 compile name:'SMSSDK-<version>',ext:'aar' compile name:'SMSSDKGUI-<version>',ext:'aar'}最终,你的build.gradle看起来应该像这样:smssdk_as build文件三、添加代码1.配置AndroidManifest.xml1.1、添加以下权限:<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" />1.2、添加以下Activity:<activity android:name="com.mob.tools.MobUIShell" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:windowSoftInputMode="stateHidden|adjustResize"/>1.3、在Application节点下添加以下属性:android:name="com.mob.MobApplication"1.4、在Application节点下添加以下meta-data:<!-- 通过AndroidManifest配置AppKey和AppSecret,如果你选择通过代码配置,则不需要配置以下meta-data --><meta-data android:name="Mob-AppKey" android:value="你的AppKey"/><meta-data android:name="Mob-AppSecret" android:value="你的AppSecret"/>最终,你的AndroidManifest.xml看起来应该像这样:smssd_manifest
二,获取验证码和检验验证码
1.1,获取验证码 SMSSDK.getVerificationCode("86", phoneNum);1.2,与MOb检验验证码是否正确 SMSSDK.submitVerificationCode("86", phoneNum, verify);
三,注册事件便于自己后续操作
1.1注册事件 SMSSDK.registerEventHandler(eh);1.2注册后处理自己事件 EventHandler eh = new EventHandler() { public void afterEvent(int arg0, int arg1, Object arg2) { //afterEvent 为调用SDK之后回调的方法 Message m = Message.obtain(); m.what = 1; m.arg1 = arg0;//event m.arg2 = arg1;//result smsHandler.sendMessage(m); } }; Handler smsHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 1: if (msg.arg2 == SMSSDK.RESULT_COMPLETE) {//发送成功的情况 if (msg.arg1 == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {//验证成功通过 Intent intent = new Intent(getApplicationContext(), PassWordActivity.class); intent.putExtra("username", phoneNum); startActivity(intent); } else if (msg.arg1 == SMSSDK.EVENT_GET_VERIFICATION_CODE) {//验证码已经从服务器发出 ToastUtil.show(getApplicationContext(), "验证码已发出,请注意查收"); } } else { ToastUtil.show(getApplicationContext(), "验证码错误"); } break; } } ; };
四,按钮监听倒计时器
private class MyHandler extends Handler { private final WeakReference<RegisterActivity> weakReference; public MyHandler(RegisterActivity activity) { weakReference = new WeakReference<RegisterActivity>(activity); } @Override public void handleMessage(Message msg) { super.handleMessage(msg); RegisterActivity activity = weakReference.get(); if (activity != null) { switch (msg.what) { case 0: if (msg.arg1 == 0) { getVerify.setText("重新获取"); getVerify.setClickable(true); } else { getVerify.setText("重新获取(" + msg.arg1 + ")秒"); getVerify.setClickable(false); } break; } } } } private void sendMessageClick() { new Thread(new Runnable() { @Override public void run() { for (int i = 59; i >= 0; i--) { Message msg = myHandler.obtainMessage(); msg.arg1 = i; myHandler.sendMessage(msg); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start(); }
阅读全文
0 0
- Mob- 短信验证使用
- Mob短信验证
- Mob短信验证
- mob短信验证
- Mob短信验证
- 短信验证(mob)
- Mob短信验证
- MOB短信验证
- Mob短信验证
- Mob短信验证
- MOB短信验证
- Mob短信验证
- mob自定义短信验证
- Mob短信验证
- Mob短信 短信验证代码
- Mob免费短信验证初探
- iOS Mob短信验证码
- MOB短信验证码开发
- 固化FPGA的程序,使用QuartusⅡ 15
- tensorflow 单机多GPU mnist实例
- visual studio2013 项目属性--配置管理器 win32 和 x64的切换需要注意的地方
- mysql导出表数据
- Spring Boot (二):Web 综合开发
- Mob短信验证
- MFC_事件对象_打印字符串_2线程_同步
- EventBus的详细使用攻略
- [破除迷信]java.util.ArrayList在foreach循环遍历时可以删除元素
- Java设计模式-策略模式
- 葵花宝典 十九 jsp动作标签和EL表达式
- FFMPEG之图片系列 --- png格式
- 使用node作为多个项目的服务器
- mysql sqlmode几个模式