使用mob第三方平台提供的免费短信验证码服务SMSSDK。
在Mob官网中注册登录并创建应用,获取相应的App key和App Secret。
在线安装,免下载SDK(官网介绍)
- 在根目录下的build.gradle文件中添加内容
- 在app目录下的build.gradle文件中添加MobSDK插件和扩展
apply plugin: 'com.mob.sdk'
MobSDK {
appKey "App key"
appSecret "App Secret"
SMSSDK {
}
}
实例
使用方法 参考MobTech文档说明
以下只可用于中国内陆,未设置区号选择,即只可用于:+86 手机号
//需要先判断输入的手机号是否已被注册(后台接口实现)
public class RegisterActivity extends BaseActivity implements View.OnClickListener {
private static final String TAG = "RegisterActivity";
int time = Constants.MESSAGE_COUNTDOWNTIME; //短信验证码发送倒计时
private String phone;
private EditText mEt_verificationCode, mEt_phone;
private Button mBtn_getCode, mBtn_registerNext;
private TextView mTv_sendMessage;
EventHandler mEventHandler;
private ImageView mIv_back;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
initView(); //初始化view
initTextChanged(); //注册手机号EditText输入监听
initEventHandler(); //注册监听回调事件
}
/**
* 初始化view
*/
private void initView() {
// 后退
mIv_back = findViewById(R.id.iv_back);
mIv_back.setOnClickListener(this);
// 手机号、验证码输入框
mEt_phone = findViewById(R.id.et_phone);
mEt_verificationCode = findViewById(R.id.et_verificationCode);
// 获取验证码按钮
mBtn_getCode = findViewById(R.id.btn_getCode);
mBtn_getCode.setOnClickListener(this);
mBtn_getCode.setEnabled(false); //未输入手机号,按钮不可点击
// 验证码提示信息
mTv_sendMessage = findViewById(R.id.tv_sendMessage);
mTv_sendMessage.setVisibility(View.INVISIBLE);
// 下一步按钮
mBtn_registerNext = findViewById(R.id.btn_registerNext);
mBtn_registerNext.setOnClickListener(this);
}
/**
* 手机号输入监听
*/
private void initTextChanged() {
mEt_phone.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
Log.d(TAG, "afterTextChanged: mEt_phone.getText().toString().length()==" + mEt_phone.getText().toString().length()