随着Flutter逐渐的被越来越多的公司所采用,本文将演示如何将中国移动统一认证SDK接入到Flutter应用中。

目录

1.准备工作

2.开始接入

3.运行调试

4.注意事项


1.准备工作

1.1 下载好统一认证SDK,这里使用的版本是quick_login_android_5.8.1

1.2 在移动开发平台申请好应用拿到appid、appkey

2.开始接入

2.1 按照统一认证SDK接入文档配置好权限,READ_PHONE_STATE权限根据应用方需要选择是否添加,SDK不强制要求授权该权限。

2.2 添加好SDK所需的资源文件

2.3 manifest中配置好授权登录的Activity,这里可以指定授权页的主题为 NoActionBar

授权页style

<style name="AuthPage" parent="@android:style/Theme.Holo.Light.NoActionBar"><item name="android:background">@null</item><item name="android:colorBackground">@null</item><item name="android:windowIsTranslucent">true</item>
</style>

2.4 按照文档要求添加network_security_config

2.5 将下载的jar文件添加工程中,并进行依赖。

2.6 MainActivity中初始化中国移动统一认证SDK并调用loginAuth授权方法

public class MainActivity extends FlutterActivity {private AuthnHelper mHelper;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);new MethodChannel(getFlutterView(),"TYRZ").setMethodCallHandler(new MethodChannel.MethodCallHandler() {@Overridepublic void onMethodCall(MethodCall methodCall, MethodChannel.Result result) {if(methodCall.method.equals("loginAuth")){loginAuth(result);}else{Log.e("TYRZ","notImplemented");result.notImplemented();}}});//创建AuthnHelper实例mHelper= AuthnHelper.getInstance(this);//打开SDK日志打印开关AuthnHelper.setDebugMode(true);//初始化授权页主题mHelper.setAuthThemeConfig(new AuthThemeConfig.Builder().build());GeneratedPluginRegistrant.registerWith(this);}/*** 统一认证SDK授权方法调用*/private void loginAuth(MethodChannel.Result result){//调用授权方法,这里要填写的appid、appkey为开发者在移动开发平台申请的appid、appkeymHelper.loginAuth("30********73", "2DD524A94*************EA287B7CA0", new TokenListener() {@Overridepublic void onGetTokenComplete(int i, JSONObject jsonObject) {try {String resultCode = jsonObject.optString("resultCode","没有返回码!");Toast.makeText(MainActivity.this, resultCode, Toast.LENGTH_SHORT).show();//将结果回传给flutterresult.success(resultCode);} catch (Exception e) {e.printStackTrace();}}});}}

2.7 main.dart中调用loginAuth

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Flutter Demo',theme: ThemeData(primarySwatch: Colors.blue,),home: MyHomePage(title: 'Flutter Demo Home Page'),);}
}class MyHomePage extends StatefulWidget {MyHomePage({Key key, this.title}) : super(key: key);final String title;@override_MyHomePageState createState() => _MyHomePageState();
}class _MyHomePageState extends State<MyHomePage> {//调用java方法void loginAuth() async {print("按钮点击!");try {String result = await MethodChannel("TYRZ").invokeMethod("loginAuth");//打印统一认证回调的响应码print("resultCode = " + result);} catch (e) {print(e);}}//创建一个按钮,在点击按钮时调用统一认证的loginAuth方法拉起授权页。@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text(widget.title),),body: Center(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[RaisedButton(child: Text("一键登录"),onPressed: () {loginAuth();},),],),),);}
}

3.运行调试

3.1 真机调试

3.2 控制台日志

4.注意事项

一定要按照文档将资源文件、权限、network_security_config以及授权页activity配置好。

中国移动一键登录 —— Flutter(安卓)相关推荐

  1. 中国移动一键登录 —— SDK5.8.1-5.9.0使用setAuthContentView方法开发更有个性的授权界面

    此文主要解决部分接入者不知道如何设置点击事件以及设置的View没有和预想的一样全屏问题.setAuthContentView方法相较于setAuthLayoutResID 更加灵活,创建view的实例 ...

  2. flutter在IOS上的登录实现——QQ登录、微信登录、自动识别手机号一键登录、apple登录

    flutter在IOS上的登录实现--QQ登录.微信登录.自动识别手机号一键登录.apple登录 一.QQ登录 使用的第三方库: 具体操作方法: 1.配置 Universal Links 2.QQ互联 ...

  3. 使用 apifm 插件进行 Flutter 云开发——QQ一键登录/注册

    在你的 App 中集成手机QQ一键授权(注册)登录功能,达到快速注册.快速登录功能 按照本教程的操作指引,预计5分钟即可帮你实现并掌握QQ登录的实现 申请开通QQ互联 https://connect. ...

  4. 使用 apifm 插件进行 Flutter 云开发——微信一键登录/注册

    在你的 App 中集成手机微信一键授权(注册)登录功能,达到快速注册.快速登录功能 按照本教程的操作指引,预计5分钟即可帮你实现并掌握微信登录的实现 用户管理 微信开放平台创建应用 https://o ...

  5. 本机号码一键登录!推荐 Flutter 极光认证插件

    本机号码一键登录基本成为各个 APP 的标配了. 传统的手机验证码登录方式: 输入手机号: 前端判断手机号是否有效: 后台判断手机号是否有效: 借助第三方下发手机验证码: 前端有一个倒计时,防止验证码 ...

  6. 敬业签安卓手机便签如何使用本机号码一键登录?

    一.在安卓手机上下载安装敬业签云便签App后,点击手机桌面上的该图标进入便签登录页面: 二.在便签处于冷启动.未登录状态并开启手机移动网络的状态下,进入便签登录界面后稍等片刻,会自动显示本机号码登录框 ...

  7. 中国移动“一键免密登录”:免去注册登录的烦恼

    对于你而言,手机号码意味着什么?联系你的唯一方式,众多App的绑定号码,还是银行预留号?很多人不愿意更换手机号都是出于以上理由.在移动互联网发展如此迅速的今天,手机号几乎已经成为了个人在网上的身份证明 ...

  8. 中国移动一键免密登录103102 Android 包签名错误

    1.概述 移动统一认证一键免密登录 api 被调用时会检测应用的 MD5 应用签名以确认应用的合法性.出现103102 包签名错误那么就是应用的 MD5 签名与用户在中国移动开发者社区上填写的 MD5 ...

  9. Flutter手机号一键登录

    手机号一键登录基本上是App的标配,Flutter在这方面也有了一些支持,本篇我们采用极光的jverify插件来实现手机号一键登录的支持. 1. 极光手机号登录插件介绍 首先,我们登录到flutter ...

最新文章

  1. html表单颜色选择器,如何在Django管理中使用HTML5颜色选择器
  2. 【怎样写代码】偷窥高手 -- 反射技术(五):深入窥视方法
  3. vb mysql ado_VB中的ADO数据对象编程详解
  4. 【Spark Summit East 2017】可扩展性机器学习的特征哈希
  5. Learn CMake's Scripting Language in 15 Minutes (ZZ)
  6. JDBC和servlet设计思路、DAO模式思路、MVC思路粗略总结
  7. Redis企业级数据备份与恢复方案
  8. Linux内核热补丁方案对比
  9. 刚才看到一篇文章,感觉不错,转载过来和大家分享:
  10. mysql 0000-00-00无效_mysql0000-00-00日期异常及解决方法
  11. springboot智慧幼儿园管理系统的设计与实现毕业设计源码271611
  12. 剑指offer刷题总结
  13. python真的能赚钱吗,学python可以赚钱吗
  14. 使用yagmail模块群发工资条
  15. R语言如何绘制韦恩图(6)
  16. listen的backlog值分析
  17. 爬虫爬取淘宝商品信息
  18. Git史上最详细教程(详细图解)
  19. 基于STM32F767的SD卡EXCEL文件读写
  20. 地理信息的空间认知与GIS语义学

热门文章

  1. 投资10亿!暴风TV智能产业园于江苏奠基
  2. 5-pytorch安装
  3. PaddleOCR简单文字识别使用(一)
  4. python编写猜数游戏代码、如果不是整数、显示输入错误_数字炸弹游戏程序 用python来实现...
  5. 单源最小路径BellMan Ford算法
  6. 2022年危险化学品经营单位主要负责人考试题库及模拟考试
  7. 《SaltStack技术入门与实践》—— Renderer组件
  8. FW-GAN: Flow-navigated Warping GAN for Video Virtual Try-on翻译
  9. 前缀树介绍,定义,图文详解分析——Java/Kotlin双版本代码
  10. 云计算机的部署模式,云计算的服务模式和部署模式