Android开发短信验证 快速篇(1)
Android开发-短信验证
用的是mob.com提供的短信验证通道
主要步骤:
1.集成SDK(基于Android studio开发工具)
2.调用接口(代码实现)
3.完成验证
4.注意事项
第一步集成SDK:
1.下载sdk:http://www.mob.com/download/sms/android?p=studio
2.解压下打开SMSSDK
2.将四个jar包放入androidstudio如下:
3.然后在build.gradle添加依赖(dependencies )示例如下:
repositories{
flatDir{
dirs 'libs' //就是你放aar的目录地址
}
}
dependencies {
....//你的其他依赖
repositories{
flatDir{
dirs 'libs' //就是你放aar的目录地址
}
}
dependencies {
....//你的其他依赖
compile name:'SMSSDK-2.1.0',ext:'aar'//
compile name:'SMSSDKGUI-2.1.0',ext:'aar'
}
4.在MainActivity添加权限和activitiy的
<!--以下是短信验证所需要的权限--> <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的的声明:
<!--下面这个activity是短信验证的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.去mob.com注册一个APP,http://dashboard.mob.com/#/main/index
然后,获取APPKEY和appsecrete。
2.初始化SMSSDK:
SMSSDK.initSDK(getApplicationContext(),APPKEY,appsecrete);3.声明对象
RegisterPage regis = new RegisterPage();4.设置监听:
regis.setRegisterCallback(new EventHandler(){ @Override //事件完成后调用 public void afterEvent(int i, int i1, Object o) { super.afterEvent(i, i1, o); //判断结果是否完成 if (i1 == SMSSDK.RESULT_COMPLETE){ HashMap<String, Object> maps = (HashMap<String, Object>) o; //国家和手机号这两个信息 String country = (String)maps.get("country"); String phoneNum= (String)maps.get("country"); //把手机号给传过去 submitUserInfo(country, phoneNum); } } //事件完成前调用 public void beforeEvent(int i, Object o) { super.beforeEvent(i, o); } });
5.调用方法
regis.show(MainActivity.this);
6.在4中afterEvent()i, i1, o
第二个参数如果等于SMSSDK.RESULT_COMPLETE
则从0对象中回去手机号和国家和手机号。然后写一个方法进行提交这些数据submitUserInfo(country, phoneNum);
7.提交的方法(自己写的)
public void submitUserInfo(String country,String phpone){ String uid = new Random().nextInt()+""; String nickName = "huyue"; SMSSDK.submitUserInfo(uid,nickName,null,country,phpone); }
上述方法是将数据传到后台,里面也可以上传到自己的服务器。
第三步集成SDK:
至此全部完成了:效果如下
第四步注意事项:
1.建议targetSdkVersion 取23以下,因为Android6.0 权限机制做出了很大的更改。
2.bom.com在测试阶段。每天免费20条,如果想获取更多条数 需要上传资料审核
3.如果要定制短信发送语,比如前缀后缀改成自己公司的,要上传资料
4.有问题欢迎留言讨论, 一起讨论安卓开发问题