如何从Flutter检查设备操作系统版本?

Dog*_*ion 7 dart flutter

Platform.operatingSystem 会告诉你是否在Android或iOS上运行.

如何查看我运行的设备操作系统版本?

Air*_*ark 78

将此插件添加到您的 pubspec device_info

人类可读的方式是

if (Platform.isAndroid) {
  var androidInfo = await DeviceInfoPlugin().androidInfo;
  var release = androidInfo.version.release;
  var sdkInt = androidInfo.version.sdkInt;
  var manufacturer = androidInfo.manufacturer;
  var model = androidInfo.model;
  print('Android $release (SDK $sdkInt), $manufacturer $model');
  // Android 9 (SDK 28), Xiaomi Redmi Note 7
}

if (Platform.isIOS) {
  var iosInfo = await DeviceInfoPlugin().iosInfo;
  var systemName = iosInfo.systemName;
  var version = iosInfo.systemVersion;
  var name = iosInfo.name;
  var model = iosInfo.model;
  print('$systemName $version, $name $model');
  // iOS 13.1, iPhone 11 Pro Max iPhone
}
Run Code Online (Sandbox Code Playgroud)

  • 该插件已被 device_info_plus 取代 https://pub.dev/packages/device_info_plus (9认同)

Ger*_*kin 7

您可以使用平台渠道来完成此任务。在本机中,使用操作系统特定的代码来获取版本并将其重新发送到 flutter。这是电池电量的好例子


小智 7

您可以使用dart:io

import 'dart:io' show Platform;

String osVersion = Platform.operatingSystemVersion;
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果您将此信息用于日志记录以外的其他用途,则这不是一个好方法。来自[文档](https://api.dart.dev/stable/2.16.0/dart-io/Platform/operatingSystemVersion.html):`该字符串的格式将因操作系统、平台和版本而异,并且是不适合解析。` 同理'**不适合解析**' (2认同)

Jul*_*ien 6

import 'dart:io' show Platform;

void main() {
  // Get the operating system as a string.
  String os = Platform.operatingSystem;
  // Or, use a predicate getter.
  if (Platform.isMacOS) {
    print('is a Mac');
  } else {
    print('is not a Mac');
  }
}
Run Code Online (Sandbox Code Playgroud)

Dart SDK > dart:io > 平台

这是上面的官方文章,如果你要检查是IOS还是Andriod,可以使用:

if (Platform.isIOS) {
  print('is a IOS');
} else if (Platform.isAndroid) {
  print('is a Andriod');
} else {
}
Run Code Online (Sandbox Code Playgroud)

  • OP 要求提供操作系统版本号而不是操作系统名称。 (8认同)