发布于2021-06-14 10:11 阅读(42) 评论(0) 点赞(24) 收藏(2)
直接看官方平台教程Mob开发者注册流程
需要注意的几点
1.身份认证选择个人就可以
2.创建应用的时logo图片不一定需要128*128的(我是随便一张截图放上去的)
3.接入产品选择SMSSDK就好(其他选上也没有什么影响)
1.点击刚创建的应用
2.查看App Key和App Secre 后续写代码要用(免费的每天只有十次哟)
每个应用对应不同的App Key和App Secre
点击用户头像,SDK下载
获取到配置文件
1.在project的build.gradle添加步骤①的脚本代码
// 添加Mob Maven地址
maven {url “http://mvn.mob.com/android”}
// 注册MobSDK
classpath “com.mob.sdk:MobSDK:+”
2.在module的build.gradle添加步骤②的脚本代码
需要更改自己之前申请的appKey 和appSecret
添加代码时注意一点
如果你plugins下是id 'com.android.application'
则需要将apply plugin: 'com.mob.sdk'
跟改为id 'com.mob.sdk'
;如果是apply plugin: 'com.android.application’则不需要改动。原因是:Android studio不同版本导致的(具体是哪个版本分界我还没搞清楚,但是按照已有的对比还是可以辨别的)
apply plugin: ‘com.mob.sdk’
这里就要用前面申请的appKey 和appSecret
MobSDK {
appKey “替换为mob官方申请的appkey”
appSecret “替换为mob官方申请的appkey对应的appSecret”
SMSSDK {}
}
具体权限说明如下
复制下面代码到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" />
可以参考官方平台文档SMSSDK快速集成或参考下面代码。
MainActivity
代码部分需要换AppKey和AppSecret
(建议用自己的AppKey和AppSecret,每天只有十次,如果要用我的请私信或下载demo)
package com.hnucm.demo;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.mob.MobSDK;
import org.json.JSONException;
import org.json.JSONObject;
import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
public class MainActivity extends AppCompatActivity {
EventHandler handler;
EditText editText;
EditText editText2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//记得此处修改为你的AppKey和AppSecret
MobSDK.init(this, "AppKey","AppSecret");
editText=findViewById(R.id.editText);
editText2=findViewById(R.id.editText2);
handler = new EventHandler(){
@Override
public void afterEvent(int event, int result, Object data) {
if (result == SMSSDK.RESULT_COMPLETE){
//回调完成
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
//提交验证码成功
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"验证成功", Toast.LENGTH_SHORT).show();
//MainActivity当前页面
//MainActivity2 登录成功跳转页面
Intent intent = new Intent(MainActivity.this,MainActivity2.class);
startActivity(intent);
}
});
}else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){
//获取验证码成功
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"验证码已发送", Toast.LENGTH_SHORT).show();
}
});
}else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){
}
}else{
((Throwable)data).printStackTrace();
Throwable throwable = (Throwable) data;
try {
JSONObject obj = new JSONObject(throwable.getMessage());
final String des = obj.optString("detail");
if (!TextUtils.isEmpty(des)){
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"提交错误信息", Toast.LENGTH_SHORT).show();
}
});
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
};
SMSSDK.registerEventHandler(handler);
}
//点击获取验证码
public void play(View view) {
//获取验证码
String phone=editText.getText().toString();
SMSSDK.getVerificationCode("86",phone);
}
//提交验证
public void tijiao(View view) {
String phone=editText.getText().toString();
String number = editText2.getText().toString();
SMSSDK.submitVerificationCode("86",phone,number);
}
}
activity_main
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="358dp"
android:layout_height="66dp"
android:layout_marginTop="52dp"
android:hint="请输入手机号码"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/editText2"
android:layout_width="204dp"
android:layout_height="63dp"
android:layout_marginTop="44dp"
android:hint="请输入手机验证码"
app:layout_constraintStart_toStartOf="@+id/editText"
app:layout_constraintTop_toBottomOf="@+id/editText" />
<Button
android:layout_height="54dp"
android:layout_marginStart="32dp"
android:layout_marginLeft="32dp"
android:onClick="play"
android:text="获取验证码"
app:layout_constraintBottom_toBottomOf="@+id/editText2"
app:layout_constraintStart_toEndOf="@+id/editText2"
app:layout_constraintTop_toTopOf="@+id/editText2"
app:layout_constraintVertical_bias="1.0"
android:layout_width="wrap_content" />
<Button
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_marginTop="60dp"
android:onClick="tijiao"
android:text="提交"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText2" />
</androidx.constraintlayout.widget.ConstraintLayout>
跳转成功页面
MainActivity2
package com.hnucm.demo;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
}
activity_main2
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity2">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="36dp"
android:layout_marginLeft="36dp"
android:layout_marginBottom="60dp"
android:text="Button"
app:layout_constraintBottom_toTopOf="@+id/textView"
app:layout_constraintStart_toStartOf="@+id/textView" />
<TextView
android:id="@+id/textView"
android:layout_width="176dp"
android:layout_height="70dp"
android:layout_marginStart="116dp"
android:layout_marginLeft="116dp"
android:layout_marginBottom="328dp"
android:text="跳转成功"
android:textSize="32sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
为了保护个人电话号码,添加了一行代码。
我写的demo已上传资源,免费下载后可以直接测试(含我的App Key和App Secre)。
Android基于Mob平台实现手机号登录Demo
如有错误,恳请指正。
如果对你有帮助,欢迎一键三连
要么努力,要么放弃。
原文链接:https://blog.csdn.net/weixin_46946002/article/details/117756265
作者:java小王子
链接:http://www.javaheidong.com/blog/article/222704/b4132452160f8da530de/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!