Flutter如何使用device_info_plus插件获取设备信息

我在Flutter项目中需要使用device_info_plus插件获取设备信息,但不太清楚具体该如何操作。能否详细说明一下如何安装配置这个插件,以及获取设备信息的具体代码示例?比如如何获取设备型号、系统版本等基本信息,需要哪些权限?

2 回复

使用device_info_plus插件获取设备信息步骤:

  1. 添加依赖到pubspec.yaml
  2. 运行flutter pub get
  3. 导入包:import 'package:device_info_plus/device_info_plus.dart';
  4. 创建实例:DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
  5. 调用对应平台方法获取信息,如Android:AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;

可获取设备型号、系统版本等详细信息。

更多关于Flutter如何使用device_info_plus插件获取设备信息的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中使用 device_info_plus 插件获取设备信息,步骤如下:

1. 添加依赖

pubspec.yaml 文件的 dependencies 下添加:

dependencies:
  device_info_plus: ^9.0.0

运行 flutter pub get 安装插件。

2. 导入包

在 Dart 文件中导入:

import 'package:device_info_plus/device_info_plus.dart';

3. 获取设备信息

使用 DeviceInfoPlugin 类获取平台相关的设备信息。

Android 设备示例:

DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;

print('设备型号: ${androidInfo.model}');
print('Android 版本: ${androidInfo.version.release}');
print('品牌: ${androidInfo.brand}');
print('设备ID: ${androidInfo.id}');

iOS 设备示例:

IosDeviceInfo iosInfo = await deviceInfo.iosInfo;

print('设备名称: ${iosInfo.name}');
print('系统版本: ${iosInfo.systemVersion}');
print('设备型号: ${iosInfo.model}');
print('UUID: ${iosInfo.identifierForVendor}');

4. 平台判断

通过 Platform 类判断当前平台,避免跨平台错误:

import 'dart:io';

if (Platform.isAndroid) {
  // 获取 Android 信息
} else if (Platform.isIOS) {
  // 获取 iOS 信息
}

注意事项

  • 部分信息(如 Android ID、iOS UUID)可能因设备或权限限制返回 null
  • 在 Android 10+ 中,androidInfo.id 可能返回固定值,需注意隐私政策。

完整示例可参考 官方文档

回到顶部