Android短信验证

来源:互联网 发布:毕业论文数据库 编辑:程序博客网 时间:2024/06/09 19:53

短信验证借助了mob.com(移动开发者服务平台),该服务平台提供了以下功能模块(需要自己注册账号)

  • ShareSDK:让App快速拥有强大的分享功能,提供全面的社会化数据统计。
  • 短信验证码:可轻松实现短信验证功能,最稳定的短信下发,覆盖全球。
  • ShareREC:最完美手游录像解决方案,录像、分享、社区、推广、统计,五大功能。
  • MobApi : 全国天气预报、邮编查询、菜谱大全、手机号码归属地等


Android Studio配置SDK

  1. 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

<activityandroid: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);            }        });    }}
0 0