Android-浅谈手机号一键免密登陆

本文探讨了如何在Android应用中实现手机号一键登录的功能,重点介绍了中国移动SDK的集成过程,包括创建应用获取APPID和APPKEY,导入SDK,设置权限,以及调用登录方法。文章还提醒注意与后端服务的配合来完成整个业务流程。
摘要由CSDN通过智能技术生成

背景

谈到APP,只要牵扯到用户信息的,就避免不了登陆这个操作。但是很多时候一次次的输入账号和密码又使用户感觉到繁琐,有没有什么办法可以简化这个流程呢,答案是肯定的!现在的登录基本上都用手机号,所以我们可以使用手机号一键登录(PS:注意!!!手机号不需要手动输入)
其实三大运营商早就支持了手机号一键登录,只是在其他APP里面不常见而已!

流程

具体的操作流程三大运营商基本是一致的,我这里只集成了中国移动的一键登录SDK,拿它来做个示范!

  • 首先登录网站创建APP获取必要内容
    对于开发来讲第一件事肯定是查看API文档,最起码我是这样的哈哈!翻阅了文档不难发现,几乎所有需要集成三方SDK的网站都需你创建应用获取APPID和APPKEY什么的!所以呢老老实实照做咯!如图:
    1.进入开发者社区首页并登录点击“管理中心”
    移动开发社区首页
    2.创建应用的方法都很常规,这是我提前创建好的应用,主要就是获取APPID和APPKEY。
    创建好的测试应用
  • 然后现在SDK开始集成
    1.应用创建完事,就开始我们的集成吧!下载SDK,导入AS里面开始引用吧!这是下载解压完的
Android手机可以通过使用移动端一键登录SDK实现手机号一键登录。以下是一些常见的移动端一键登录SDK: 1. 云片移动端一键登录SDK ```java // 初始化 CloudAuth.init(context, appid, appkey); // 请求授权页 CloudAuth.requestToken(activity, new CloudAuthCallback() { @Override public void onComplete(CloudAuthUser user) { // 登录成功,获取用户信息 String phone = user.getPhone(); String uid = user.getUid(); String token = user.getToken(); // TODO: 处理用户信息 } @Override public void onError(CloudAuthException e) { // 登录失败,处理异常 } @Override public void onCancel() { // 取消登录 } }); ``` 2. Mob移动端一键登录SDK ```java // 初始化 MobSDK.init(context, appkey, appsecret); // 请求授权页 OnekeyLoginManager.getInstance().setAuthThemeConfig(new AuthThemeConfig.Builder() .setStatusBarColor(Color.parseColor("#FFFFFF")) .setNavColor(Color.parseColor("#FFFFFF")) .setNavText("一键登录") .setNavTextColor(Color.parseColor("#333333")) .setLogoImgPath("logo.png") .setLogoWidth(100) .setLogoHeight(100) .setLogoOffsetY(50) .setLogoOffsetX(0) .setLogoHidden(false) .setSloganHidden(false) .setSloganText("一键登录,畅享无限") .setSloganTextColor(Color.parseColor("#666666")) .setSloganOffsetY(180) .setSloganOffsetX(0) .setNumberColor(Color.parseColor("#333333")) .setNumberSize(18) .setNumberOffsetY(230) .setNumberOffsetX(0) .setSwitchText("其他方式登录") .setSwitchTextColor(Color.parseColor("#666666")) .setSwitchOffsetY(280) .setSwitchOffsetX(0) .setLogBtnText("本机号码一键登录") .setLogBtnTextColor(Color.parseColor("#FFFFFF")) .setLogBtnImgPath("login_btn_bg.png") .setLogBtnWidth(300) .setLogBtnHeight(50) .setLogBtnOffsetY(350) .setLogBtnOffsetX(0) .setPrivacyState(true) .setPrivacyOffsetY(420) .setPrivacyOffsetX(0) .setPrivacyText("登录即同意《用户协议》和《隐私政策》") .setPrivacyTextColor(Color.parseColor("#666666")) .setPrivacyProtocol("https://www.mob.com/about/policy") .setPrivacyProtocolColor(Color.parseColor("#666666")) .setPrivacyProtocol2("https://www.mob.com/about/terms") .setPrivacyProtocol2Color(Color.parseColor("#666666")) .setPrivacyWithBookTitleMark(false) .setPrivacyCheckboxHidden(false) .setPrivacyCheckboxSize(16) .setPrivacyCheckboxOffsetY(420) .setPrivacyCheckboxOffsetX(0) .setPrivacyCheckboxResId(R.drawable.mob_auth_privacy_checkbox_selector) .setPrivacyCheckboxDefaultState(true) .setPrivacyProtocolHighlightColor(Color.parseColor("#FF4081")) .setPrivacyProtocol2HighlightColor(Color.parseColor("#FF4081")) .build()); OnekeyLoginManager.getInstance().setAuthListener(new OneKeyLoginCallback() { @Override public void onLogin(String phone, String token) { // 登录成功,获取用户信息 String uid = OnekeyLoginManager.getInstance().getUid(); // TODO: 处理用户信息 } @Override public void onError(String errorMsg) { // 登录失败,处理异常 } @Override public void onCancel() { // 取消登录 } }); OnekeyLoginManager.getInstance().login(); ``` 3. 一键登录SDK ```java // 初始化 OneKeyLogin.getInstance().init(context, appid, appkey); // 请求授权页 OneKeyLogin.getInstance().requestToken(activity, new OneKeyLoginCallback() { @Override public void onLogin(String phone, String token) { // 登录成功,获取用户信息 String uid = OneKeyLogin.getInstance().getUid(); // TODO: 处理用户信息 } @Override public void onError(String errorMsg) { // 登录失败,处理异常 } @Override public void onCancel() { // 取消登录 } }); ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值