Android studio如何实现短信验证

  现在更多的App的抛弃了原有的密保问题的验证模式,而是更多的采用短信验证的方式,今天来教一下大家如何实现短信验证。

   首先,网络上为我们提供短信验证的网站为:www.mob.com,登录该网站你会发现其为我们提供了很多功能,其中最主要的几个分别是:shareSDK,短信验证,mobLink等,我们今天要学习的是短信验证功能。

1.在web.com中创建账号:

   点击页面下方短信验证码SDK-->点击立即使用-->注册账号。

后会进入下面页面:



2.下载短信验证SDK,并且完成短信验证的相关注册,下载页面如下:



3.点击下载后获得sdk,得到下列文件:


4.进入到我们的android工程的文件夹里,我的是AndroidStudioProjects,找到app/libs文件夹,然后放入刚刚下载的文件中的SMSSDK中的jar和aar文件:



5,.进入AndroidStudio的工程中,在Module的build.gradle里面将libs加入仓库(repositories),然后添加依赖(dependencies )示例如下:

repositories{
    flatDir{
        dirs 'libs'
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.0.1'
    testCompile 'junit:junit:4.12'
    compile 'mysql:mysql-connector-java:5.1.16'
    compile name: 'SMSSDK-2.1.4', ext: 'aar'
    compile name: 'SMSSDKGUI-2.1.4', ext: 'aar'
    compile files('libs/BaiduLBS_Android.jar')
}


6.因为我们的短信验证业务涉及到很多权限,所以在AndroidManifest.xml中添加权限:

?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.pc.paijiajiao">
    <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" />
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_logo"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <meta-data
            android:name="com.baidu.lbsapi.API_KEY"
            android:value="uQDsPg1DGm0d1oehxcEHwZGMOlicYiiM" />


7.在添加了权限后,开始写实现我们短信验证的代码:

 (1).xml文件(shortmessage):

?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:id="@+id/activity_short_message"
    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.example.pc.paijiajiao.ShortMessage">

    <Button
        android:text="注册和绑定手机"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/message_iden"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
</RelativeLayout>

 (2).java代码:

public class ShortMessage extends AppCompatActivity {

    Button  message_iden;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_short_message);
        //初始化
        SMSSDK.initSDK(this, "1cdab34199d58", "1f4f73a0b24b1778b900c20727872357");
        message_iden=(Button)findViewById(R.id.message_iden);
        message_iden.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                RegisterPage registerPage=new RegisterPage();
                //注册回调事件
                registerPage.setRegisterCallback(new EventHandler(){
                    @Override
                    public void afterEvent(int event, int result, Object data){
                        //判断结果是否已经完成
                        if(result==SMSSDK.RESULT_COMPLETE){
                            //获取数据data
                            HashMap<String,Object> maps=(HashMap<String, Object>)data;
                            //国家
                            String country=(String)maps.get("country");
                            //手机号
                            String phone=(String)maps.get("phone");
                            submitUserInfo(country,phone);
                        }

                    }
                });
                //显示注册界面
                registerPage.show(ShortMessage.this);
            }
        });
    }
    public void submitUserInfo(String country, String phone){
        Random r=new Random();
        String uid=Math.abs(r.nextInt())+"";
        String nickName="lexuepai";
        SMSSDK.submitUserInfo(uid,nickName,null,country,phone);
    }
}


 SMSSDK.initSDK(this, "1cdab34199d58", "1f4f73a0b24b1778b900c20727872357");中的两个代码是在注册时分配的,写入即可。

完成后执行就能实现短信验证了。谢谢大家


  • 2
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值