info static method

Future<DeviceInfo?> info()

获取当前设备的详细信息

平台支持: Android、iOS

返回值: Future<DeviceInfo?>,成功则返回 DeviceInfo,否则为 null(如不支持平台)。

示例:

DeviceInfo? info = await DeviceUtil.info();
if (info != null) {
  print(info.toJson());
}

返回结果示例:

{
  "systemName": "iOS",
  "systemVersion": "17.3",
  "model": "iPad",
  "modelMachine": "iPad14,3",
  "modelName": "iPad Pro (12.9-inch)",
  "isPhysicalDevice": true,
  "brand": "Apple"
}

Implementation

static Future<DeviceInfo?> info() async {
  final deviceInfoPlugin = DeviceInfoPlugin();
  if (Platform.isAndroid) {
    final androidInfo = await deviceInfoPlugin.androidInfo;
    return DeviceInfo(
      systemName: 'Android',
      systemVersion: androidInfo.version.release,
      model: androidInfo.model,
      modelMachine: androidInfo.device,
      modelName: androidInfo.name,
      isPhysicalDevice: androidInfo.isPhysicalDevice,
      brand: androidInfo.brand,
    );
  } else if (Platform.isIOS) {
    final iosInfo = await deviceInfoPlugin.iosInfo;
    return DeviceInfo(
      systemName: iosInfo.systemName,
      systemVersion: iosInfo.systemVersion,
      model: iosInfo.model,
      modelMachine: iosInfo.utsname.machine,
      modelName: iosInfo.modelName,
      isPhysicalDevice: iosInfo.isPhysicalDevice,
      brand: 'Apple',
    );
  }
  return null;
}