登录 Http://www.mob.com/ 注册 创建项目 # 接着帖 我的完整代码 MainActivity package wlt
# 接着帖 我的完整代码 MainActivity package wlt.com.zen; import Androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import cn.smssdk.EventHandler; import cn.smssdk.SMSSDK; import cn.smssdk.gui.ReGISterPage; public class MainActivity extends AppCompatActivity { private Button bdsjh,tijiao; private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView=(TextView)this.findViewById(R.id.tvsms); //事件 textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sendCode(MainActivity.this); } }); bdsjh=(Button)this.findViewById(R.id.bdsjh); tijiao=(Button)this.findViewById(R.id.tijiao); tijiao.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); bdsjh.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"功能暂时没有开通....",Toast.LENGTH_LONG).show(); } }); } public void sendCode(Context context) { RegisterPage page = new RegisterPage(); //如果使用我们的ui,没有申请模板编号的情况下需传null page.setTempCode(null); page.setRegisterCallback(new EventHandler() { public void afterEvent(int event, int result, Object data) { if (result == SMSSDK.RESULT_COMPLETE) { //回调完成 if (event == SMSSDK.EVENT_SUBMIT_VERIFICATioN_CODE) { //提交验证码成功 添加动作 Intent intent=new Intent(MainActivity.this,ok_long_Activate.class); startActivity(intent); }else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){ //获取验证码成功 }else if (event ==SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){ //返回支持发送验证码的国家列表 } } else{ // TODO 处理错误的结果 } } }); page.show(context); } } 布局 验证成功跳转的activate package wlt.com.zen; import android.app.Activity; import android.os.Bundle; public class ok_long_Activate extends Activity { @Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.oklong); } }
布局
以下是文档 提供学习参考http://www.mob.com/ 路径
贴上 相关方法
/ 请求验证码,其中country表示国家代码,如“86”;phone表示手机号码,如“13800138000”
SMSSDK.getVerificationCode(country, phone);
/ 提交验证码,其中的code表示验证码,如“1357”
SMSSDK.submitVerificationCode(country, phone, code);
public void sendCode(Context context) {
RegisterPage page = new RegisterPage();
//如果使用我们的ui,没有申请模板编号的情况下需传null
page.setTempCode(null);
page.setRegisterCallback(new EventHandler() {
public void afterEvent(int event, int result, Object data) {
if (result == SMSSDK.RESULT_COMPLETE) {
// 处理成功的结果
HashMap phoneMap = (HashMap) data;
// 国家代码,如“86”
String country = (String) phoneMap.get("country");
// 手机号码,如“13800138000”
String phone = (String) phoneMap.get("phone");
这里有个问题 在提交验证码 code 参数 不知道 怎么弄出来 如果相遇大神 求解 一下
// TODO 利用国家代码和手机号码进行后续的操作
} else{
// TODO 处理错误的结果
}
}
});
page.show(context);
}
// 使用完EventHandler需注销,否则可能出现内存泄漏
protected void onDestroy() {
super.onDestroy();
SMSSDK.unregisterEventHandler(eventHandler);
}
以上是是在参考文档下实现的 在真机上测试成功 可用 还有好多细节 不解 还需加油 。。
--结束END--
本文标题: android studio 实现短信验证 登录
本文链接: https://www.lsjlt.com/news/28935.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0