1:打开官方文档,下载SDK 路径:http://sms.mob.com/
选择SDK下载选择第二个短信验证码SDK,选择SMSSDK For Android,下载SDK
2:将下载的SDK文档中的导入libs包中
MobCommons-2017.0607.1736.jar
MobTools-2017.0607.1736.jar
SMSSDK-3.0.0.aar
SMSSDKGUI-3.0.0.aar
3:在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中配置
<application android:name="com.mob.MobApplication"/>
在自带的activity的下方
<activity android:name="com.mob.tools.MobUIShell" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:windowSoftInputMode="stateHidden|adjustResize"/> <!--通过AndroidWanifes配置AppKey和AooSecret,如果你选择通过代码配置,则不需要配置以下meta-data--> <meta-data android:name="Mob-AppKey" android:value="自己的"/> <meta-data android:name="Mob-AppSecret" android:value="自己的"/>
4:在build.gradle中的
repositories{ flatDir{ dirs'libs'//就是你放aar的目录地址 }
dependencies {
compile name:'SMSSDK-3.0.0',ext:'aar' compile name:'SMSSDKGUI-3.0.0',ext:'aar'
}
5:在main类中写入代码:
//按钮点击事件 public void button(View view){ if (TextUtils.isEmpty(editText.getText().toString())) { Toast.makeText(getApplicationContext(), "手机号码不能为空", Toast.LENGTH_SHORT) .show(); } else if (!judgephone(editText.getText().toString())) { Toast.makeText(getApplicationContext(), "请输入正确的手机号码", Toast.LENGTH_SHORT) .show(); } else { MobSDK.init(this, "1f5765e0f4f24", "a4df7b30b44ba264e8c9c9e6dd449711"); SMSSDK.getVerificationCode("86", editText.getText().toString()); EventHandler eh=new EventHandler(){ @Override public void afterEvent(int event, int result, Object data) { if (result == SMSSDK.RESULT_COMPLETE) { //回调完成 if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) { //提交验证码成功 }else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){ //获取验证码成功 }else if (event ==SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){ //返回支持发送验证码的国家列表 } }else{ ((Throwable)data).printStackTrace(); } } }; SMSSDK.registerEventHandler(eh); //注册短信回调 // // } }
public boolean judgephone(String phone) { String str = ""; str = phone; String pattern = "(13\\d|14[57]|15[^4,\\D]|17[678]|18\\d)\\d{8}|170[059]\\d{7}"; Pattern r = Pattern.compile(pattern); Matcher m = r.matcher(str); return m.matches(); } protected void onDestroy() { super.onDestroy(); SMSSDK.unregisterEventHandler(eventHandler); }