如何实现短信验证"/>
Android studio如何实现短信验证
现在更多的App的抛弃了原有的密保问题的验证模式,而是更多的采用短信验证的方式,今天来教一下大家如何实现短信验证。
首先,网络上为我们提供短信验证的网站为:www.mob,登录该网站你会发现其为我们提供了很多功能,其中最主要的几个分别是:shareSDK,短信验证,mobLink等,我们今天要学习的是短信验证功能。
1.在web中创建账号:
点击页面下方短信验证码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=""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" /><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_logo"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><meta-dataandroid:name="com.baidu.lbsapi.API_KEY"android:value="uQDsPg1DGm0d1oehxcEHwZGMOlicYiiM" />
7.在添加了权限后,开始写实现我们短信验证的代码:
(1).xml文件(shortmessage):
?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android=""xmlns: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"><Buttonandroid: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;@Overrideprotected 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() {@Overridepublic void onClick(View view) {RegisterPage registerPage=new RegisterPage();//注册回调事件registerPage.setRegisterCallback(new EventHandler(){@Overridepublic void afterEvent(int event, int result, Object data){//判断结果是否已经完成if(result==SMSSDK.RESULT_COMPLETE){//获取数据dataHashMap<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");中的两个代码是在注册时分配的,写入即可。
完成后执行就能实现短信验证了。谢谢大家
更多推荐
Android studio如何实现短信验证
发布评论