initDeviceInfo method
dynamic
initDeviceInfo()
Implementation
initDeviceInfo() async {
try {
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
if (PlatformUtils.isAndroid()) {
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
_deviceCompany = androidInfo.brand;
_deviceModel = androidInfo.model;
_deviceOS = "Android ${androidInfo.version.release}";
} else if (PlatformUtils.isIos()) {
IosDeviceInfo iosDeviceInfo = await deviceInfo.iosInfo;
_deviceCompany = "Apple";
_deviceModel = iosDeviceInfo.model;
_deviceOS = iosDeviceInfo.systemVersion;
} else {
WebBrowserInfo webBrowserInfo = await deviceInfo.webBrowserInfo;
_log("webBrowserInfo ${webBrowserInfo.toMap()}");
_deviceCompany = webBrowserInfo.platform;
_deviceModel = webBrowserInfo.browserName.name;
PrefUtils.setString(SPKey.keyStringDevice, _deviceModel);
_deviceOS = webBrowserInfo.appVersion;
String subStrKey = ")"; // 只提取第一个括号前的数据,限制长度为40个字符
if (TextUtils.isNotEmpty(_deviceOS) && _deviceOS!.contains(subStrKey)) {
_deviceOS = _deviceOS!.substring(0, _deviceOS!.indexOf(subStrKey)) + subStrKey;
if (_deviceOS!.length > 20) {
_deviceOS = _deviceOS!.substring(0, 20);
}
}
}
} catch (e) {
// ignore
}
_log("initDeviceInfo \n 设备厂商: $_deviceCompany \n 设备型号: $_deviceModel \n 设备操作系统: $_deviceOS");
}