生物识别技术
Created|Updated
|Post View:

开场
心随朗月高,志与秋霜洁.
前言
Flutter
| 特点 |
详情 |
| 跨平台开发 |
Flutter允许开发人员使用相同的代码库在多个平台上构建应用程序。这意味着可以同时为iOS和Android开发应用,减少了重复开发的工作量。 |
| Widget |
flutter的UI构建是通过组合不同的小部件来完成的。这些小部件可以是简单的文本或图像,也可以是复杂的布局和交互组件。 |
| 响应式UI |
Flutter采用现代的响应式UI开发模式。通过使用Widget树来构建用户界面,可以实时反应用户输入、数据变化等,并在上进行快速渲染。 |
| 自定义UI |
Flutter提供了丰富的组件和功能,以便开发人员可以轻松地构建自定义的用户界面。通过自定义绘制和动画,可以实现高度个性化的设计和交互效果。 |
| 快速开发 |
Flutter具有热重载功能,可以实时查看代码更改的效果,无需重新编译整个应用程序。这大大加快了开发过程,提高了开发效率。 |
| 性能优化 |
Flutter使用自身的渲染引擎来绘制UI,而不是依赖操作系统提供的原生UI组件。这使得Flutter应用程序在性能方面表现出色,并且能够跨平台保持一致的性能。 |
| 强大的工具和社区支持 |
Flutter提供了丰富的开发工具和文件,包括强大的集成开发环境(如Android Studio和Visual Studio Code)和调试工具。Flutter拥有一个庞大和活跃的开发者社区,可以提供丰富的资源、库和插件。 |
实现过程
4.1 入口文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart';
import 'routes/Routes.dart';
void main() => runApp(MyApp()); class MyApp extends StatelessWidget {
@override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner:false , initialRoute: '/', onGenerateRoute: onGenerateRoute, localizationsDelegates:const [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ], supportedLocales: const [ Locale('zh','CH'), Locale('en','US'), ], ); } }
|
4.2 检查当前设备是否支持生物识别
1 2 3 4 5 6 7 8 9 10 11 12 13
| ElevatedButton( child:const Text("检查是否支持生物识别"), onPressed: () async { try { bool canCheckBiometrics = await localAuth.canCheckBiometrics; print(canCheckBiometrics); } catch (e) { print(e); } }, ),
|
4.3 查看支持的生物识别技术
1 2 3 4 5 6 7 8 9 10 11 12 13
| const SizedBox(height: 30), ElevatedButton( child: Text("获取生物识别技术列表"), onPressed: () async { try { List<BiometricType> availableBiometrics = await localAuth.getAvailableBiometrics(); print(availableBiometrics); } catch (e) { print(e); } }, ),
|
4.4 指纹生物识别
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| const SizedBox(height: 30), ElevatedButton( child:const Text("指纹/生物识别"), onPressed: () async { try { bool didAuthenticate = await localAuth.authenticate( localizedReason: '扫描指纹进行身份识别', authMessages: const <AuthMessages>[ AndroidAuthMessages( cancelButton: '取消', goToSettingsButton: '去设置', biometricNotRecognized: '指纹识别失败', goToSettingsDescription: '请设置指纹.', biometricHint: '指纹', biometricSuccess: '指纹识别成功', signInTitle: '指纹验证', deviceCredentialsRequiredTitle: '请先录入指纹!', ), IOSAuthMessages( cancelButton: '取消', goToSettingsButton: '去设置', goToSettingsDescription: '请设置指纹.', ), ], options: const AuthenticationOptions( useErrorDialogs: false, stickyAuth: true )); print(didAuthenticate); } catch (e) { print(e); } }, )
|
4.5 需要配置的重要东西

需要在AndroidManifest.xml文件配置这个代码,开启网路权限.

需要在箭头指的方向配置文件代码,才能开启生物识别.
结果
Pc端

移动端

结尾
When your mind says give up,hope whispers one more try.