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
}
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');
}
}
5条答案
按热度按时间bvuwiixz1#
你可以使用platform channels来完成这个任务。在本机中使用操作系统特定的代码来获取版本并将其重新发送到Flutter。这里是一个很好的电池电量示例
n9vozmp42#
在我的用例中,我想限制对特定操作系统版本的本机功能的访问。为此,我编写了一个库,允许您为代码的某一部分指定支持的版本。
如果这涵盖了您的用例,请查看库:https://pub.dev/packages/available
如果您只想确定操作系统版本,请查看使用device_info_plus解析操作系统版本的
VersionResolver
class。cyvaqqii3#
将此插件添加到您的pubspec device_info
人类可读的方式是
ev7lccsx4#
Dart SDK > dart:io > Platform
下面是上面的官方文章,如果你想检查它是IOS还是Andriod,你可以使用:
以下是如何获得iOS版本
注意事项:文档中说操作系统版本字符串不适合解析,因为它不遵循标准格式。但是,如果你在你感兴趣的版本上测试它,你应该没问题。例如,你可以在iOS版本13,14,16,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1和15,并且对于测试的特定版本,返回的字符串将始终相同。我猜提供版本信息的软件包会使用这个字符串,并对它进行一些智能解析,以确定实际的操作系统版本。
um6iljoc5#
可以使用
dart:io