info static method
获取当前设备的详细信息
平台支持: 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;
}