getInstance static method
获取设备信息单例
Implementation
static Future<DeviceInfo> getInstance() async {
if (_instance != null) return _instance!;
try {
final deviceId = await _getDeviceId();
final deviceModel = await _getDeviceModel();
final platform = _getPlatform();
final osVersion = await _getOSVersion();
final appVersion = await _getAppVersion();
final appBuildNumber = await _getAppBuildNumber();
final additionalInfo = await _getAdditionalInfo();
_instance = DeviceInfo(
deviceId: deviceId,
deviceModel: deviceModel,
platform: platform,
osVersion: osVersion,
appVersion: appVersion,
appBuildNumber: appBuildNumber,
additionalInfo: additionalInfo,
);
return _instance!;
} catch (e) {
// 返回默认值
_instance = DeviceInfo(
deviceId: 'unknown_${DateTime.now().millisecondsSinceEpoch}',
deviceModel: 'Unknown Device',
platform: _getPlatform(),
osVersion: 'Unknown',
appVersion: '1.0.0',
appBuildNumber: '1',
);
return _instance!;
}
}