本教程教大家如何在Flutter中获取设备信息。

可随意转载!

创建项目

命令行执行以下命令:

flutter create -a java -i objc ability_device_info

创建flutter项目,并且指定Android平台的编程语言为Java,iOS平台的编程语言为Objective-C。

打开Android Studio,选择Open an exist Android Studio Project

配置项目

编辑flutter配置文件pubspec.yaml ,如下图:

编写main.dart

1. import依赖包

import 'dart:async';
import 'dart:io';
import 'package:flutter/services.dart';
import 'package:device_info/device_info.dart';

2. 定义类变量

Map<String, dynamic> _deviceData = <String, dynamic>{};

3. 获取插件返回的deviceData

  Future<void> initPlatformState() async {
    Map<String, dynamic> deviceData;

    try {
        deviceData = _readAndroidBuildData(await deviceInfoPlugin.androidInfo);
    } on PlatformException {
      deviceData = <String, dynamic>{
        'Error:': 'Failed to get platform version.'
      };
    }

    if (!mounted) return;

    setState(() {
      _deviceData = deviceData;
    });
  }

  Map<String, dynamic> _readAndroidBuildData(AndroidDeviceInfo build) {
    return <String, dynamic>{
      'version.sdkInt': build.version.sdkInt,
      'version.release': build.version.release,
      'model': build.model,

    };
  }

4. 定义Flutter的UI

省略,请看源码

真机调试

可以看到我的手机型号是NX563J;Android 9; sdk 28。

机型适配问题

无,适配所有Android和iOS机型

示例源代码

源码地址