Android短信验证
短信验证借助了mob.com(移动开发者服务平台),该服务平台提供了以下功能模块(需要自己注册账号)ShareSDK:让App快速拥有强大的分享功能,提供全面的社会化数据统计。短信验证码:可轻松实现短信验证功能,最稳定的短信下发,覆盖全球。ShareREC:最完美手游录像解决方案,录像、分享、社区、推广、统计,五大功能。MobApi : 全国天气预报、邮编查询、菜谱大全、手机号码归属地等A
·
短信验证借助了mob.com(移动开发者服务平台),该服务平台提供了以下功能模块(需要自己注册账号)
- ShareSDK:让App快速拥有强大的分享功能,提供全面的社会化数据统计。
- 短信验证码:可轻松实现短信验证功能,最稳定的短信下发,覆盖全球。
- ShareREC:最完美手游录像解决方案,录像、分享、社区、推广、统计,五大功能。
- MobApi : 全国天气预报、邮编查询、菜谱大全、手机号码归属地等
Android Studio配置SDK
- SMSSDK下载
文件名 | 说明 | 需求 |
---|---|---|
MobCommons.jar | Mob 通用公共库 | 必须 |
MobTools.jar | Mob 工具公共库 | 必须 |
SMSSDK-2.1.0.aar | SMSSDK 核心 | 必须 |
SMSSDKGUI-2.1.0.aar | SMSSDK GUI 开源库 | 可选 |
如果集成了ShareSDK,则可以共同使用公共库 (MobCommons.jar,MobTools.jar),
SMSSDKGUI-2.1.0.aar开发者可以自主选择,它为我们提供了封装好的注册等界面。
2. 将以上四个库放入libs文件
1. 配置build.gradle(Module级别)
4. 配置AndroidManifest.xml
权限添加
<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" />
application下添加如下activity
<activity
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize"/>
展示图
Demo
界面
<?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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.android.smsdemo.MainActivity">
<Button
android:id="@+id/register"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="注册手机号码"/>
</RelativeLayout>
主程序
package com.android.smsdemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.util.HashMap;
import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
import cn.smssdk.gui.RegisterPage;
public class MainActivity extends AppCompatActivity {
private Button registerBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
registerBtn = (Button) findViewById(R.id.register);
registerBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/**
* 初始化SDK
*/
String appKey = "14a0a7a14c1fc";
String appSecrete = "8c12046be7ec35cf47f46cf3c4d6ee15";
SMSSDK.initSDK(MainActivity.this,appKey,appSecrete);
/**
* 打开注册界面
*/
RegisterPage registerPage = new RegisterPage();
registerPage.setRegisterCallback(new EventHandler(){
/**
* 解析注册结果
*/
@Override
public void afterEvent(int event, int result, Object data) {
if(result == SMSSDK.RESULT_COMPLETE){
HashMap<String,Object> phoneMap = (HashMap<String, Object>) data;
String country = (String) phoneMap.get("country");
String phone = (String) phoneMap.get("phone");
/**
* 提交注册信息
*/
SMSSDK.submitUserInfo(null,null,null,country,phone);
}
}
});
/**
* 显示注册页面
*/
registerPage.show(MainActivity.this);
}
});
}
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)