DeviceInfo class

Snapshot of device and app info returned by the native platform.

Constructors

DeviceInfo({String versionNumber = '', String buildNumber = '', String displayName = '', String bundleName = '', String uuid = '', String sessionId = '', String locales = '', String timeZone = '', String alphaCode = '', LocaleApp localeApp = const LocaleApp(), bool isLowRamDevice = false, int physicalRamSize = 0, int availableRamSize = 0, int totalRam = 0, String board = '', String bootloader = '', String device = '', String display = '', String fingerprint = '', String hardware = '', String host = '', String buildId = '', String product = '', List<String> supported32BitAbis = const [], List<String> supported64BitAbis = const [], List<String> supportedAbis = const [], String tags = '', String type = '', List<String> systemFeatures = const [], String deviceName = '', String modelName = '', String localizedModel = '', bool isiOSAppOnMac = false, String brand = '', String manufacturer = '', String model = '', String systemName = '', String systemVersion = '', bool isPhysicalDevice = true, int freeDiskSize = 0, int totalDiskSize = 0, Utsname utsname = const Utsname()})
Creates a DeviceInfo with the given fields, defaulting to empty/zero values for anything not provided.
DeviceInfo.fromJson(Map json)
Builds a DeviceInfo from the map returned by the native platform.

Properties

alphaCode → String
ISO 3166-1 alpha-2 country code derived from the device locale (e.g. "VN").
final
areaCode → String
International dial code derived from alphaCode (e.g. "VN" -> "84"). Computed on read so it can never diverge from alphaCode.
no setter
availableRamSize → int
Currently available RAM size, in megabytes.
final
board → String
Android-only. The underlying board name.
final
bootloader → String
Android-only. The bootloader version.
final
brand → String
The device brand.
final
buildId → String
Android-only. The changelist/build id.
final
buildNumber → String
The app's build number (e.g. "42").
final
bundleName → String
The app's bundle/package identifier.
final
device → String
Android-only. The industrial design name of the device.
final
deviceName → String
iOS-only. The user-assigned device name.
final
display → String
Android-only. A human-readable build display id.
final
displayName → String
The app's display name shown to the user.
final
fingerprint → String
Android-only. A string that uniquely identifies this build.
final
freeDiskSize → int
Free disk space, in bytes.
final
hardware → String
Android-only. The hardware name.
final
hashCode → int
The hash code for this object.
no setterinherited
host → String
Android-only. The host that built this build.
final
isiOSAppOnMac → bool
iOS-only. Whether the app is running on a Mac via Mac Catalyst/iOS-on-Mac.
final
isLowRamDevice → bool
Whether the OS considers this device a low-RAM device.
final
isPhysicalDevice → bool
Whether this is a physical device, as opposed to a simulator/emulator.
final
localeApp → LocaleApp
The device's language and country locale, split into components.
final
locales → String
The device's current locale identifier (e.g. "en_US").
final
localizedModel → String
iOS-only. The localized model name (e.g. "iPhone").
final
manufacturer → String
The device manufacturer.
final
model → String
Device model. Not equivalent across platforms: on Android this is the specific hardware model (Build.MODEL, e.g. "SM-G991B"); on iOS this is only the generic device type (UIDevice.current.model, e.g. "iPhone" or "iPad"). For the specific iOS hardware identifier (e.g. "iPhone14,2"), use modelName instead.
final
modelName → String
iOS-only. The specific hardware identifier (e.g. "iPhone14,2").
final
physicalRamSize → int
Total physical RAM size, in megabytes.
final
product → String
Android-only. The end-user visible name for the overall product.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sessionId → String
An 8-character uppercase hex identifier (matching ^[0-9A-F]{8}$, e.g. "F40A6D4F") generated once per app session (i.e. once per native process lifetime), as opposed to uuid which persists across sessions.
final
supported32BitAbis → List<String>
Android-only. Supported 32-bit ABIs.
final
supported64BitAbis → List<String>
Android-only. Supported 64-bit ABIs.
final
supportedAbis → List<String>
Android-only. All ABIs supported by the device, ordered by preference.
final
systemFeatures → List<String>
Android-only. System features reported by the device's package manager.
final
systemName → String
The operating system name (e.g. "Android", "iOS").
final
systemVersion → String
The operating system version (e.g. "14").
final
tags → String
Android-only. Comma-separated tags describing the build.
final
timeZone → String
The device's current time zone identifier (e.g. "Asia/Ho_Chi_Minh").
final
totalDiskSize → int
Total disk space, in bytes.
final
totalRam → int
Total RAM bucketed to the nearest marketed size (in GB): 2, 4, or 6.
final
type → String
Android-only. The build type (e.g. "user", "eng").
final
utsname → Utsname
POSIX uname() info for the device.
final
uuid → String
A unique identifier for the device.
final
versionNumber → String
The app's version number (e.g. "1.0.0"), as declared in the app manifest.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
Serializes this DeviceInfo to a JSON-compatible map.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited