简介

SMSSDK提供了手机短信验证码的功能,而且是免费的,若app没有在Mob中提交审核,那么一天最多发送条短信;若该手机号验证成功,那么将不再发送短信(这是因为Mob默认开启了智能验证,关闭即可(后台中心–>短信设置–>智能验证,见下图))

Android 短信SDK集成文档

步骤

  1. 添加jar
  2. 配置权限+节点AndroidManifest.xml()
  3. 初始化
  4. 获取验证码和发送验证码

使用默认ui(gui)

效果图

Step1 添加jar

解压下载的SDK,把3个jar + 1个aar放入到libs中,添加完成后,还需要在Module中配置aar
解压后:

添加jar和aar

repositories {flatDir {dirs 'libs'//就是你放aar的目录地址}
}dependencies {...compile name: 'SMSSDK-2.1.2', ext: 'aar'compile name: 'SMSSDKGUI-2.1.2', ext: 'aar'
}

dependencies 中有compile fileTree(dir: 'libs', include: ['*.jar'])可以不用重复在dependencies中

compile files('libs/MobCommons-2016.1012.1447.jar')
compile files('libs/MobTools-2016.1012.1447.jar')

有下面3个即可

dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile name: 'SMSSDK-2.1.2', ext: 'aar'compile name: 'SMSSDKGUI-2.1.2', ext: 'aar'
}

Step2 配置权限 + activity

配置网络权限

<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"/>

配置activity节点(不需要SMSSDKGUI-2.1.2.aar就可以不配置)

<activity
    android:name="com.mob.tools.MobUIShell"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:windowSoftInputMode="stateHidden|adjustResize"/>

Step3:初始化SMSSDK

最好在Application中设置

//初始化SMSSDK
SMSSDK.initSDK(this,"Mob官网注册的key","Mob官网注册的secret");

Key + Secret:

Step4:获取验证码和发送验证码的界面操作

//打开注册页面,这个页面就是我们在AndroidManifest.xml中添加的节点com.mob.tools.MobUIShell
RegisterPage registerPage = new RegisterPage();
registerPage.setRegisterCallback(new EventHandler() {public void afterEvent(int event, int result, Object data) {// 解析注册结果if (result == SMSSDK.RESULT_COMPLETE) {@SuppressWarnings("unchecked") HashMap<String, Object> phoneMap = (HashMap<String, Object>) data;String country = (String) phoneMap.get("country");String phone = (String) phoneMap.get("phone");Log.d(TAG, "opeRegisterPager()--country=" + country + "--phone" + phone);}}
});
registerPage.show(context);

使用自定义的ui

前三步是一样的

Step4: 获取验证码和发送验证码

先注册回调

//注册回调
SMSSDK.registerEventHandler(eventHandler);private EventHandler eventHandler = new EventHandler() {@Overridepublic void afterEvent(int event, int result, Object data) {super.afterEvent(event, result, data);if (result == SMSSDK.RESULT_COMPLETE) {//回调完成if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {//提交验证码成功@SuppressWarnings("unchecked") HashMap<String, Object> phoneMap = (HashMap<String, Object>) data;String country = (String) phoneMap.get("country");String phone = (String) phoneMap.get("phone");Log.d(TAG, "提交验证码成功--country=" + country + "--phone" + phone);} else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {//获取验证码成功Log.d(TAG, "获取验证码成功");} else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES) {//返回支持发送验证码的国家列表}} else {((Throwable) data).printStackTrace();}}
};

获取验证码

SMSSDK.getVerificationCode("86", phone);
都可以
SMSSDK.getVerificationCode("+86", phone);

发送验证码 code:验证码

SMSSDK.submitVerificationCode("+86", phone, code);

获取联系人列表

//打开通信录好友列表页面
ContactsPage contactsPage = new ContactsPage();
contactsPage.show(context);

效果图:

源码

SMSSDKDemo02

Jpush也支持短信验证码,但是需要申请客服批准,这里就不说了。

第三方SDK:SMSSDK相关推荐

  1. 使用第三方SDK(如微信、qq、快看、头条等),调用接口405 Method Not Allowed

    使用第三方SDK(如微信.qq.快看.头条等),调用接口405 Method Not Allowed 错误描述:postman请求正常,但客户端调用后接口没有反应,但返回了405错误. 解决方法:第三 ...

  2. 对第三方 SDK 依赖冲突,重新打个包试试

    版权声明: 本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有. 未经允许,不得转载. 一.前言 在开发 App 的时候,经常会有需要借助第三方 SDK 的情况.但是有时候多方 ...

  3. iOS架构-静态库.framework(引用第三方SDK、开源库、资源包)(9)

    前面介绍了 静态库.a依赖第三方静态库.a的制作 静态库.framework之依赖第三方库(Cocoapods进行管理) 今天课题: 静态库.framework(引用第三方SDK.framework. ...

  4. Android高效率编码-第三方SDK详解系列(一)——百度地图,绘制,覆盖物,导航,定位,细腻分解!...

    Android高效率编码-第三方SDK详解系列(一)--百度地图,绘制,覆盖物,导航,定位,细腻分解! 这是一个系列,但是我也不确定具体会更新多少期,最近很忙,主要还是效率的问题,所以一些有效的东西还 ...

  5. android 第三方社区,从友盟微社区看Android第三方SDK架构实践

    原标题:从友盟微社区看Android第三方SDK架构实践 开发Android第三方SDK说难不难,但说简单也不简单,要开发一个给很多人使用的第三方SDK,如何在保证稳定性的同时,增强SDK的灵活性,让 ...

  6. 第三方SDK开发入门

    SDK Demo开发步骤 新建工程 新建Module-->Android Libiray 在Moudle中新建Activity 4.在Moudule中的AndroidManifest里声明Act ...

  7. Android应用安全之第三方SDK安全

    第三方sdk的包括广告.支付.统计.社交.推送,地图等类别,是广告商.支付公司.社交.推送平台,地图服务商等第三方服务公司为了便于应用开发人员使用其提供的服务而开发的工具包,封装了一些复杂的逻辑实现以 ...

  8. 常用的第三方SDK介绍(搜集中)

    1.验证码 我们开发IT产品时经常要实现注册登录,现在很流行用短信验证码或者语音验证码的形式向客户端发送验证码. 我们开发人员估计都会选用现成的SDK接入实现.比如:创蓝中国 这家专做短信或者语音验证 ...

  9. 隐私政策-第三方SDK汇总

    一.模版: 使用SDK名称:第三方SDK的名字 服务类型:根据自己使用的功能填写(如:使用了友盟的统计分析SDK就写:统计分析) 收集个人信息类型:设备信息(IMEI/MAC/Android ID/I ...

  10. Android 第三方SDK的检测与提取

    Android 第三方SDK的检测一直是研究领域的热点与难点: 目前检测Android第三方SDK的方法主要分为两类 下手的目标也主要存在三点 首先说检测的点: AndroidManifest.xml ...

最新文章

  1. Vue——显示微信用户名称中enjoin表情
  2. C语言十六进制转换为八进制(附完整源码)
  3. 连贯的学习黑树(插入节点)
  4. idea部署tomcat项目时,在项目里打断点不能拦截
  5. java emptylist_Java之Collections.emptyList()、emptySet()、emptyMap()的作用和好处以及要注意的地方...
  6. iOS任何界面全屏炫酷倒计时,一句代码就够了
  7. 【抛砖引玉】“技术顾问” —— 老程序员的一个出路。
  8. Javascript游戏,街头霸王
  9. RAID 的各种方案
  10. 【仿真】carsim、prescan、simulink联合仿真教程、笔记、操作
  11. excel设置行高_聊聊python 办公自动化之 Excel(下)
  12. Mac 移动硬盘没有推出,再插上不显示移动硬盘解决办法
  13. Qt(一)消息提示框
  14. 代码审计工具简单汇总
  15. AB实验平台在贝壳找房的设计与实践
  16. 深入理解Docker原理
  17. 毕业设计之 --- 在线考试系统
  18. 智能视频分析系统 PVG-VA
  19. 微信小程序与普通网页开发的区别
  20. 无线智慧城市业务方案建设

热门文章

  1. 自动化测试验证码代码常用的四种方式
  2. ARM一面(二轮技术面)
  3. Python知识点之Python进阶
  4. Linux环境Hadoop环境搭建
  5. Marvelous Designer 服装设计与模拟
  6. 数字图像相关-高斯分布散斑图生成MATLAB代码
  7. 富文本编辑器Editor.md入门
  8. Unity 编辑器下控制播放粒子
  9. 交叉验证(Cross Validation)简介
  10. 外研社php,外研社高中英语单词