https://github.com/zalweny26/capacitor-systeminfo
Capacitor plugin to get access to every info about the device software and hardware
https://github.com/zalweny26/capacitor-systeminfo
android capacitor capacitor-plugin ios kotlin plugin swift system-information typescript web
Last synced: 2 months ago
JSON representation
Capacitor plugin to get access to every info about the device software and hardware
- Host: GitHub
- URL: https://github.com/zalweny26/capacitor-systeminfo
- Owner: zAlweNy26
- Created: 2023-09-08T10:57:23.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-09-15T20:47:06.000Z (10 months ago)
- Last Synced: 2026-02-06T14:21:04.931Z (5 months ago)
- Topics: android, capacitor, capacitor-plugin, ios, kotlin, plugin, swift, system-information, typescript, web
- Language: Kotlin
- Homepage: https://www.npmjs.com/package/@danyalwe/capacitor-systeminfo
- Size: 327 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# Capacitor Plugin - SystemInfo
Get access to every info about the device software and hardware!
Supported Android version: `23+`\
Supported iOS version: `Not supported`\
Supported Browsers: `Chromium-based`
## Install
```bash
npm install @danyalwe/capacitor-systeminfo
npx cap sync
```
## Todos
- [ ] Add support for iOS
- [ ] Add CPU usage
## Example
The following example demonstrates how to use the SystemInfo plugin to access the device's info:
```ts
import { SystemInfo } from '@danyalwe/capacitor-systeminfo'
// Get all system informations
const info = await SystemInfo.getInfos()
// Add a listener to receive used ram, hdd and sd every second
SystemInfo.addListener('runtimeChange', (data) => {
console.log('Runtime data:', data)
})
// Be sure to start ALWAYS AFTER adding the listener
await SystemInfo.start()
// Stop the listener
await SystemInfo.stop()
```
## Supported methods
| Name | Android | iOS | Web |
| :----------------- | :------ | :-- | :-- |
| getInfos | ✅ | ❌ | ✅ |
| start | ✅ | ❌ | ❌ |
| stop | ✅ | ❌ | ❌ |
| addListener | ✅ | ❌ | ❌ |
| removeAllListeners | ✅ | ❌ | ❌ |
## Supported properties
| SoftwareInfos | Android | iOS | Web |
| :---------------------- | :------ | :-- | :-- |
| **`osName`** | ✅ | ❌ | ✅ |
| **`osVersion`** | ✅ | ❌ | ✅ |
| **`brandName`** | ✅ | ❌ | ✅ |
| **`sdkVersion`** | ✅ | ❌ | ❌ |
| **`sdkName`** | ✅ | ❌ | ❌ |
| **`securityPatch`** | ✅ | ❌ | ❌ |
| **`uiVersion`** | ✅ | ❌ | ❌ |
| **`deviceID`** | ✅ | ❌ | ❌ |
| **`boardName`** | ✅ | ❌ | ❌ |
| **`bootloaderVersion`** | ✅ | ❌ | ❌ |
| **`supportedABIs`** | ✅ | ❌ | ❌ |
| HardwareInfos | Android | iOS | Web |
| :------------------ | :------ | :-- | :-- |
| **`manufacturer`** | ✅ | ❌ | ✅ |
| **`features`** | ✅ | ❌ | ✅ |
| **`totalCores`** | ✅ | ❌ | ✅ |
| **`totalRAM`** | ✅ | ❌ | ✅ |
| **`totalHDD`** | ✅ | ❌ | ⚠️ |
| **`totalSD`** | ✅ | ❌ | ❌ |
| **`modelID`** | ✅ | ❌ | ❌ |
| **`modelCodeName`** | ✅ | ❌ | ❌ |
| **`cpuModel`** | ✅ | ❌ | ❌ |
| **`cpuCores`** | ✅ | ❌ | ❌ |
⚠️: Not real total, it's the available
| RuntimeInfos | Android | iOS | Web |
| :------------ | :------ | :-- | :-- |
| **`usedRAM`** | ✅ | ❌ | ❌ |
| **`usedHDD`** | ✅ | ❌ | ❌ |
| **`usedSD`** | ✅ | ❌ | ❌ |
## API
* [Interfaces](#interfaces)
* [Type Aliases](#type-aliases)
Interface for the System Info plugin
### Interfaces
#### SoftwareInfos
Represents software information about a device.
| Prop | Type | Description |
| ----------------------- | ------------------- | ---------------------------------------------------- |
| **`osName`** | string | The name of the operating system. |
| **`osVersion`** | string | The version of the operating system. |
| **`brandName`** | string | The name of the device brand. |
| **`sdkVersion`** | number | The version of the SDK (if applicable). |
| **`sdkName`** | string | The name of the SDK (if applicable). |
| **`securityPatch`** | string | The security patch level (if applicable). |
| **`uiVersion`** | string | The version of the UI (if applicable). |
| **`deviceID`** | string | The unique identifier of the device (if applicable). |
| **`boardName`** | string | The name of the device board (if applicable). |
| **`bootloaderVersion`** | string | The version of the bootloader (if applicable). |
| **`supportedABIs`** | {} | The list of supported ABIs (if applicable). |
#### HardwareInfos
Represents hardware information of a device.
| Prop | Type | Description |
| ------------------- | ------------------- | ------------------------------------------- |
| **`modelID`** | string | The model ID of the device. |
| **`modelCodeName`** | string | The code name of the device model. |
| **`cpuModel`** | string | The model of the CPU. |
| **`cpuCores`** | {} | The number of cores and threads of the CPU. |
| **`totalSD`** | number | The total size of the SD card in bytes. |
| **`totalHDD`** | number | The total size of the HDD in bytes. |
| **`totalRAM`** | number | The total size of the RAM in bytes. |
| **`totalCores`** | number | The total number of cores in the CPU. |
| **`manufacturer`** | string | The manufacturer of the device. |
| **`features`** | {} | The features supported by the device. |
#### RuntimeInfos
Interface for runtime information.
| Prop | Type | Description |
| ------------- | ------------------- | -------------------------------------------- |
| **`usedRAM`** | number | The amount of used RAM in bytes. |
| **`usedHDD`** | number | The amount of used HDD in bytes. |
| **`usedSD`** | number | The amount of used SD card storage in bytes. |
#### PluginListenerHandle
| Prop | Type |
| ------------ | ------------------------- |
| **`remove`** | () => any |
### Type Aliases
#### SystemInformations
Represents a collection of system information, including both software and hardware information.
#### Features
Represents the available features that can be queried using the Capacitor System Info plugin.
'bluetooth' | 'bluetoothLowEnergy' | 'microphone' | 'speaker' | 'nfc' | 'camera' | 'gamepad' | 'gps' | 'touchscreen' | 'wifi' | 'fingerprint' | 'face' | 'ethernet'