repositories{
flatDir{
dirs 'libs'
}
}
compile name:'SMSSDK-2.1.4',ext:'aar' compile name:'SMSSDKGUI-2.1.4',ext:'aar'
<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" />
public class Register extends AppCompatActivity implements View.OnClickListener {
private EditText etPhoneNumber; // 电话号码
private Button sendVerificationCode; // 发送验证码
private EditText etVerificationCode; // 验证码
private Button nextStep; // 下一步
private String phoneNumber; // 电话号码
private String verificationCode; // 验证码
private boolean flag; // 操作是否成功
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
init(); // 初始化控件、注册点击事件
final Context context = Register.this; // context
final String AppKey = "你的 AppKey"; // AppKey
final String AppSecret = "你的 AppSecret"; // AppSecret
SMSSDK.initSDK(context, AppKey, AppSecret); // 初始化 SDK 单例,可以多次调用
EventHandler eventHandler = new EventHandler(){ // 操作回调
@Override
public void afterEvent(int event, int result, Object data) {
Message msg = new Message();
msg.arg1 = event;
msg.arg2 = result;
msg.obj = data;
handler.sendMessage(msg);
}
};
SMSSDK.registerEventHandler(eventHandler); // 注册回调接口
}
private void init() {
etPhoneNumber = (EditText) findViewById(R.id.edit_phone_number);
sendVerificationCode = (Button) findViewById(R.id.btn_send_verification_code);
etVerificationCode = (EditText) findViewById(R.id.edit_verification_code);
nextStep = (Button) findViewById(R.id.btn_next_step);
sendVerificationCode.setOnClickListener(this);
nextStep.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_send_verification_code:
if (!TextUtils.isEmpty(etPhoneNumber.getText())) {
if (etPhoneNumber.getText().length() == 11) {
phoneNumber = etPhoneNumber.getText().toString();
SMSSDK.getVerificationCode("86", phoneNumber); // 发送验证码给号码的 phoneNumber 的手机
etVerificationCode.requestFocus();
}
else {
Toast.makeText(this, "请输入完整的电话号码", Toast.LENGTH_SHORT).show();
etPhoneNumber.requestFocus();
}
} else {
Toast.makeText(this, "请输入电话号码", Toast.LENGTH_SHORT).show();
etPhoneNumber.requestFocus();
}
break;
case R.id.btn_next_step:
if (!TextUtils.isEmpty(etVerificationCode.getText())) {
if (etVerificationCode.getText().length() == 4) {
verificationCode = etVerificationCode.getText().toString();
SMSSDK.submitVerificationCode("86", phoneNumber, verificationCode);
flag = false;
} else {
Toast.makeText(this, "请输入完整的验证码", Toast.LENGTH_SHORT).show();
etVerificationCode.requestFocus();
}
} else {
Toast.makeText(this, "请输入验证码", Toast.LENGTH_SHORT).show();
etVerificationCode.requestFocus();
}
break;
default:
break;
}
}
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int event = msg.arg1;
int result = msg.arg2;
Object data = msg.obj;
if (result == SMSSDK.RESULT_COMPLETE) {
// 如果操作成功
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
// 校验验证码,返回校验的手机和国家代码
Toast.makeText(Register.this, "验证成功", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Register.this, MainActivity.class);
startActivity(intent);
} else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {
// 获取验证码成功,true为智能验证,false为普通下发短信
Toast.makeText(Register.this, "验证码已发送", Toast.LENGTH_SHORT).show();
} else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES) {
// 返回支持发送验证码的国家列表
}
} else {
// 如果操作失败
if (flag) {
Toast.makeText(Register.this, "验证码获取失败,请重新获取", Toast.LENGTH_SHORT).show();
etPhoneNumber.requestFocus();
} else {
((Throwable) data).printStackTrace();
Toast.makeText(Register.this, "验证码错误", Toast.LENGTH_SHORT).show();
}
}
}
};
@Override
protected void onDestroy() {
super.onDestroy();
SMSSDK.unregisterAllEventHandler(); // 注销回调接口
}
}
SMSSDK.initSDK(context, AppKey, AppSecret); // 初始化 SDK 单例,可以多次调用
EventHandler eventHandler = new EventHandler(){ // 操作回调
@Override
public void afterEvent(int event, int result, Object data) {
Message msg = new Message();
msg.arg1 = event;
msg.arg2 = result;
msg.obj = data;
handler.sendMessage(msg);
}
};
SMSSDK.registerEventHandler(eventHandler); // 注册回调接口
SMSSDK.getVerificationCode("86", phoneNumber);
if (result == SMSSDK.RESULT_COMPLETE) {
// 如果操作成功
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
// 校验验证码,返回校验的手机和国家代码
Toast.makeText(Register.this, "验证成功", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Register.this, MainActivity.class);
startActivity(intent);
} else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {
// 获取验证码成功,true为智能验证,false为普通下发短信
Toast.makeText(Register.this, "验证码已发送", Toast.LENGTH_SHORT).show();
} else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES) {
// 返回支持发送验证码的国家列表
}
} else {
// 如果操作失败
if (flag) {
Toast.makeText(Register.this, "验证码获取失败,请重新获取", Toast.LENGTH_SHORT).show();
etPhoneNumber.requestFocus();
} else {
((Throwable) data).printStackTrace();
Toast.makeText(Register.this, "验证码错误", Toast.LENGTH_SHORT).show();
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有