Mob.com 短信验证的简单使用
1、环境配置
SMSSDK 2.0.1
2.0.1开始使用aar文件集成。更方便快捷
2.1 首先这是一个Android项目

2.2 外面这个AARTest 是一个Project。app是这个Project的一个module。如要在这个module里面使用带界面的SMSSDK。
就将MobCommons.jar,MobTools.jar,SMSSDK-2.0.1.aar,SMSSDKGUI-2.0.1.aar放到了app的libs目录下。然后在app
目录下的build.gradle,加上红圈中的这几句就行了。
2.0.0及以下版本
2.0.0及以下的版本在android studio里面以依赖子module的形式集成。
2.1 一种简单的方法就是先按eclipse的步骤将“SMSSDK”导入eclipse,然后利用android studio导入eclipse adt项目为module。(下图第二个选项,不是选中的那个),然后在要使用的项目的build.gradle添加依赖
图1,以eclipse adt项目创建module

图2添加依赖:

2.2 第二种就是完全自己手动创建module,移动相关文件,最后添加依赖
这个是手动将SMSSDK 转成studio的module。和eclipse导出的功能是一样的,只是eclipse导出的文件目录不是studio的标准目录,是通过设置sourceset自定义的目录。这个教材可以帮你熟悉studio的目录和eclipse的区别。
Eclipse Android Studio
src ==> [module name]/src/main/java
res ==>[module name]/src/main/res
libs下的jar ==> [module name]/libs
libs下的so ==>[module name]/src/main/jniLibs
assets ==> [module name]/src/main/assets
aidl/ ==>[module name]/src/main/aidl
rs/ ==> [module name]/src/main/rs
jni/ ==>[module name]/src/main/jni
1,在你项目的根目录新建一个android library module。如图
图1,新建module
图2,选择android library(老版本的界面可能不是这样子的)
图3,填写module的信息。module的名字你可以自己取,建议还是smssdk。package name一定要是cn.smssdk,因为我们代码里面就是用这个包名。当然你这里填错也没事,到后面都可以自己手动更改。继续点击next,选择无activity(add no activity)
2,将相应的文件移到到module的文件下
2.1 打开你下载的SDK文件夹,打开SMSSDK,其实这个教材就是手动将这个SMSSDK项目变成android studio的module。
图1,先来移动libs下的文件,将libs下面的这两个jar移到到smssdk/libs下,将选中的这几个文件夹移动到smssdk/src/main/jniLibs(自己新建jniLibs文件夹)下
如果你是老版本,依赖可能没有自动生成,你需要自己修改smssdk/build.gradle, 在这个文件里面添加这一句依赖。这句话的意思就是编译时依赖libs文件夹下的所有jar文件
对于更老的版本(0.7.2以下)是不支持NDK 预编译本地库( prebuilt native libraries)的,建议你升级到最新版
2.2 将smssdk/src/main/res这个文件夹清空。将我们SMSSDK的res下的东西全移进去
2.3 smssdk的src文件下的内容扔到 smssdk/src/main/java下。因为studio已经帮我们生成了cn.smssdk。我们只要移到gui这个文件夹到cn.smssdk这个包里面去就行了。
2.4 将smssdk/src/main/AndroidManifest.xml 替换成SMSSDK下的AndroidManifest.xml。
新版不允许我们在manifest里面添加debug信息,所以这里会出现错误,删掉这一句就行。
2.5 最后在你要使用smssdk的module下的build.gradle里面添加依赖
compile project(“:smssdk”) 注意这个”:smssdk”是根据你smssdk这个module的位置改变的。你建在项目的根目录下就不用改动。接下来的使用就和eclipse里面的一样了。
添加完后别忘了执行一下Tools->Android->Sync Project with Gradle Files
3、配置AndroidManifest.xml
(查看视频教程)
打开您项目的“AndroidManifest.xml”,在其中添加如下的权限:
|
1
2
3
4
5
6
7
8
9
|
<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.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
然后打“application”下添加如下activity:
<activityandroid:name="com.mob.tools.MobUIShell"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:windowSoftInputMode="stateHidden|adjustResize"/>
4、添加代码
启动SDK
在您的项目启动时,调用下面的代码:
|
1
|
SMSSDK.initSDK(this, "您的appkey", "您的appsecret");
|
发送短信验证码
短信SDK内置了开源的GUI功能,您可以通过调用下面的代码打开短信验证页面:
//打开注册页面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");// 提交用户信息registerUser(country, phone);}}});registerPage.show(context);
其中EventHandler是短信SDK的操作回调,具体说明文档请参阅:短信SDK操作回调章节。
显示通信录好友列表
同时,短信SDK也内置了通过本设备通信录换取本应用内用户列表的功能,可以通过下面的代码打开“通信录好友”页面:
Java
|
1
2
3
|
//打开通信录好友列表页面
ContactsPage contactsPage = new ContactsPage();
contactsPage.show(context);
|
5、项目实例
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="lpc.com.lpc_sms.MainActivity"><Buttonandroid:id="@+id/Registered_phone"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="登陆或注册手机号" /></RelativeLayout>

package lpc.com.lpc_sms;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import java.util.HashMap;import java.util.Random;import cn.smssdk.EventHandler;import cn.smssdk.SMSSDK;import cn.smssdk.gui.RegisterPage;public class MainActivity extends AppCompatActivity {private Button button;private String APP_KEY = "1106bdba71428";private String APP_SECRET = "6b3b1458a2d8149a79f61db92260cbd3";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SMSSDK.initSDK(this,APP_KEY,APP_SECRET);button = (Button) this.findViewById(R.id.Registered_phone);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//打开注册页面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");// 提交用户信息registerUser(country, phone);}}});registerPage.show(MainActivity.this);}});}public void registerUser(String country,String phone){Random r = new Random();String uid = Math.abs(r.nextInt())+ "";String nackName = "liupengcheng";SMSSDK.submitUserInfo(uid,nackName,null,country,phone);}}
6、总结
Mob.com 短信验证的简单使用的更多相关文章
- Mob 之 短信验证集成 SMSSDK
开相关发中总会遇到短信验证这些操作,这周没有来得及写新的东西,借此分享一篇以前学习短信验证的笔记,本文使用的是 Mob 提供的 SMSSDK . 下载 SMSSDK 官网下载地址:SMSSDK 集成 ...
- Mob短信验证的具体使用
原文著作权地址:http://www.jb51.net/article/84946.htm demo地址:http://git.oschina.net/lizhanqi/MobSMSDemo 一.前言 ...
- 『实践』Android之短信验证码(用的Mob短信验证)
1.参考资料 Mob网站:http://www.mob.com/ Mob在Github上的例子:https://github.com/MobClub/SMSSDK-for-Android 教程:htt ...
- 【mob】Android短信验证+源码
在很多的应用当中,都涉及到了短信验证的功能,比如在注册或者找回密码的时候,那么我们如何通过第三方的平台来完成这个功能呢? 本面博文就实现短信验证,来做一个小的栗子. 第一步-下载开发包 第二步-将SD ...
- Mob短信验证的配置的解释
原文地址:http://www.jb51.net/article/84946.htm 关于mob短信验证的解释: mob官方是这样写的: repositories{ flatDir{ dirs 'li ...
- Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自己主动填入功能结合实例)
用户注冊或者找回password时通常会用到短信验证功能.这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注冊用户.获取SD ...
- thinkphp实现短信验证注册
前言 注册时经常需要用到短信验证码,本文记录一下思路和具体实现. 短信验证平台使用云片,短信验证码的生成使用thinkphp. 思路 1.用户输入手机号,请求获取短信验证码. 2.thinkphp生成 ...
- 完整的Android手机短信验证源码
短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能. 一.短信验证码的后台 1.注册Mob账号:http://www.mob.com/#/login 2.注册成功之后, ...
- 如何利用 LTE/4G 伪基站+GSM 中间人攻击攻破所有短信验证
这次公开课请来的嘉宾对自己的简介是: 连续创业失败的创业导师:伪天使投资人:某非知名私立大学创办人兼校长:业余时间在本校通信安全实验室打杂. 自从他在黑客大会上演讲<伪基站高级利用技术——彻底攻 ...
随机推荐
- js执行跨域请求
//js执行跨域请求 var _script = document.createElement('script'); _script.type = "text/javascript" ...
- 通过Windows组策略限制证书组织流氓软件的安装运行
https://liwei2.com/2015/11/27/378.html关于如何提取证书,请参阅:https://www.zhihu.com/question/26917038http://www ...
- autoit 将输入法修改为英文输入法
如果能用ControlSend,就不推荐用send,如果非要用send,可以切换输入法为英文再send. $hWnd = WinGetHandle("[ACTIVE]");$hWn ...
- TP-LINK WR841N V8刷OpenWRT
在某宝上淘了一个TP-LINK WR841N V8,已经硬改为8M闪存和64M内存,还刷好了Uboot.但是卖家刷好的系统是第三方定制过的OpenWRT,集成了很多不需要用到的软件,所以我要刷回官方原 ...
- Linux:安装rstatd,报错
[安装] 下载地址:http://heanet.dl.sourceforge.net/sourceforge/rstatd/安装:一次执行--tar -xzvf rpc.rstatd-4.0.1.ta ...
- android开发--数据库(更新或者降低版本)
Andoird的SQLiteOpenHelper类中有一个onUpgrade方法. 1. 帮助文档里说的"数据库升级"是指什么? 你开发了一个应用,当前是1.0版本.该程序用到了数 ...
- 外网无法访问本地IIS站点
自己申请了个花生壳动态域名,本来是打算在IIs上建个站点测试一下的,路由器上的端口也配置好了,把80端口指向我本机.域名也通过 ping 测试确实指向了我这里的路由器.但是用这个域名老是访问不了我这个 ...
- Unity3D 学习——入门资料整理
感觉可以写3D游戏,还是用C#,很好玩的样子.整理最近学习资料 介绍:游戏引擎,可以用C#配置的游戏引擎.嗯,就这样.其余度娘. 安装:官网,因为现在个人版是免费的.直接官网下.干净利落. 调试插件: ...
- 23. Can't connect to X11 window server using '127.0.0.1:0.0' as the value of the DISPLAY variable.解决办法
在终端里 以root用户执行 #xhost + 然后su - oracle 执行#export DISPLAY=:0 运行runinstaller
- 笔试常考的Linux命令大全
1. wc -l 统计一个文件的行数.l-line.-c是字节数,-m是字符数,mc不能同时使用.-L打印最长行的长度. 2. 查看系统进程的命令:ps,查看CPU占用命令:top.df:查看磁盘使用 ...