手机获取短信验证码——内置UI界面

偶尔善良 提交于 2019-12-09 08:57:44

我们平常写项目的时候,总是会遇到需要通过注册自己的账号,那么这个时候,可以通过Mob平台获取验证码完成注册。非常好玩简单

首先,一定还是在http://www.mob.com/#/下载所需要的SDK(SMS For Android),有eclipse和studio版可供下载,本文主要围绕studio集成SDK。

点击头像,选择进入后台,开始创建应用



创建应用非常简单,设置自己的应用名称,选择Android就ok了


现在就可以看到自己应用的AppKey 和 AppSecret,在后面会用到。现在正式开始集成SDK步骤

首先,导入SDK

Eclipse:使用项目依赖的方式完成集成,把下载的SDK导入到eclipse,并在eclipse中依赖这个项目。

Studio:将下载的SDK中的libs文件夹的内容拷贝到项目的libs下,选择Add As Library



然后在app目录下的build.gradle中,加入红色框中的代码就行了


接下来,配置清单文件
打开"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"/>

配置完成后,开始添加代码:
在项目启动之前,需要先调用initSDK()方法;
package com.example.admin.mysms;

import android.app.Application;

import cn.smssdk.SMSSDK;

/**
 * Created by admin on 2016/9/9.
 */
public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        SMSSDK.initSDK(this, "16f762f61b06e", "018bdc7ed49d6d8d8a66f6c58c112bb7");
    }
}
短信SDK内置了开源的GUI功能,可以通过调用下面的代码代开短信验证页面:
package com.example.admin.mysms;

import android.app.Activity;
import android.os.Bundle;

import java.util.HashMap;

import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
import cn.smssdk.gui.RegisterPage;

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //打开注册页面
        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(this);

    }


}
写到这里,你就可以运行获取验证码啦,这里的UI界面是SDK内置的;
同样的你也可以通过自定义UI界面达到这个效果,具体操作可以看下一篇博客
谢谢各位~撒花~
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!