千家信息网

怎么在Flutter中获取设备标识符

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了怎么在Flutter中获取设备标识符的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么在Flutter中获取设备标识符文章都会有所收获,下面我们一起来看
千家信息网最后更新 2026年11月02日怎么在Flutter中获取设备标识符

这篇文章主要介绍了怎么在Flutter中获取设备标识符的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么在Flutter中获取设备标识符文章都会有所收获,下面我们一起来看看吧。

使用 platform_device_id

如果您只需要运行应用程序的设备的 id,最简单快捷的解决方案是使用platform_device_id包。它适用于 Android (AndroidId)、iOS (IdentifierForVendor)、Windows (BIOS UUID)、macOS (IOPlatformUUID) 和 Linux (BIOS UUID)。在 Flutter Web 应用程序中,您将获得 UserAgent(此信息不是唯一的)。

应用预览

我们要构建的示例应用程序包含一个浮动按钮。按下此按钮时,设备的 ID 将显示在屏幕上。以下是它在 iOS 和 Android 上的工作方式:

代码

1.通过运行安装插件:

flutter pub add platform_device_id

然后执行这个命令:

flutter pub get

不需要特殊权限或配置。

2.完整代码:

// main.dartimport 'package:flutter/material.dart';import 'package:platform_device_id/platform_device_id.dart';void main() {  runApp(const MyApp());}class MyApp extends StatelessWidget {  const MyApp({Key? key}) : super(key: key);  @override  Widget build(BuildContext context) {    return MaterialApp(        // Remove the debug banner        debugShowCheckedModeBanner: false,        title: '大前端之旅',        theme: ThemeData(          primarySwatch: Colors.indigo,        ),        home: const HomePage());  }}class HomePage extends StatefulWidget {  const HomePage({Key? key}) : super(key: key);  @override  _HomePageState createState() => _HomePageState();}class _HomePageState extends State {  String? _id;  // This function will be called when the floating button is pressed  void _getInfo() async {    // Get device id    String? result = await PlatformDeviceId.getDeviceId;    // Update the UI    setState(() {      _id = result;    });  }  @override  Widget build(BuildContext context) {    return Scaffold(      appBar: AppBar(title: const Text('大前端之旅')),      body: Padding(        padding: const EdgeInsets.all(20),        child: Center(            child: Text(          _id ?? 'Press the button',          style: TextStyle(fontSize: 20, color: Colors.red.shade900),        )),      ),      floatingActionButton: FloatingActionButton(          onPressed: _getInfo, child: const Icon(Icons.play_arrow)),    );  }}

使用 device_info_plus

包device_info_plus为您提供作为 platform_device_id 的设备 ID,并提供有关设备的其他详细信息(品牌、型号等)以及 Flutter 应用运行的 Android 或 iOS 版本。

应用预览

我们将制作的应用程序与上一个示例中的应用程序非常相似。但是,这一次我们将在屏幕上显示大量文本。返回的结果因平台而异。如您所见,Android 上返回的信息量远远超过 iOS。

代码

1. 通过执行以下操作安装插件:

flutter pub add device_info_plus

然后运行:

flutter pub get

2. main.dart中的完整源代码:

// main.dartimport 'package:flutter/material.dart';import 'package:device_info_plus/device_info_plus.dart';void main() {  runApp(const MyApp());}class MyApp extends StatelessWidget {  const MyApp({Key? key}) : super(key: key);  @override  Widget build(BuildContext context) {    return MaterialApp(        // Remove the debug banner        debugShowCheckedModeBanner: false,        title: '大前端之旅',        theme: ThemeData(          primarySwatch: Colors.amber,        ),        home: const HomePage());  }}class HomePage extends StatefulWidget {  const HomePage({Key? key}) : super(key: key);  @override  _HomePageState createState() => _HomePageState();}class _HomePageState extends State {  Map? _info;  // This function is triggered when the floating button gets pressed  void _getInfo() async {    // Instantiating the plugin    final deviceInfoPlugin = DeviceInfoPlugin();    final result = await deviceInfoPlugin.deviceInfo;    setState(() {      _info = result.toMap();    });  }  @override  Widget build(BuildContext context) {    return Scaffold(      appBar: AppBar(title: const Text('大前端之旅')),      body: _info != null          ? Padding(              padding: const EdgeInsets.all(20),              child: ListView(                children: _info!.entries                    .map((e) => Wrap(                          children: [                            Text(                              "${e.key} :",                              style: const TextStyle(                                  fontSize: 18, color: Colors.red),                            ),                            const SizedBox(                              width: 15,                            ),                            Text(                              e.value.toString(),                              style: const TextStyle(                                fontSize: 18,                              ),                            )                          ],                        ))                    .toList(),              ),            )          : const Center(              child: Text('Press the button'),            ),      floatingActionButton: FloatingActionButton(        onPressed: _getInfo,        child: const Icon(Icons.info),      ),    );  }}

关于"怎么在Flutter中获取设备标识符"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"怎么在Flutter中获取设备标识符"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

设备 应用 应用程序 程序 标识 标识符 之旅 前端 运行 代码 知识 信息 内容 屏幕 按钮 插件 示例 篇文章 特殊 相似 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网佳科技有限公司 互联网科技的 迪茉互联网科技 北京互联网络科技有限公司 宜安科技 互联网金融 天扬科技互联网广告 衡水科技产业互联网平台 中国互联网有什么科技含量 现代互联网科技股 昊天互联网科技有限公司 崇明区互联网教育科技诚信经营 阿里互联网科技企业 华中科技大学互联网的牛人 无锡工业互联网科技有限公司 元气玛特互联网科技公司是外包吗 北京市互联网新科技 互联网公司属于科技吗 银川新华互联网科技学校是国营吗 北京天晋互联网科技有限公司 广州三三互联网科技有限公司 中国互联网科技工作委员会毛军 美国互联网保险保险科技 互联网 的科技创新 广州凡科互联网科技 天扬科技互联网广告 宁波青枫互联网科技有限公司 从那以后互联网科技有限公司 科技互联网行业投资研究 唯美互联网科技 互联网大会出现的黑科技
0