指南
如何在 Capacitor 中使用 Device Info
使用 @capgo/capacitor-device-info
从 Capacitor 应用中读取 CPU、内存、GPU、存储、热量、低功耗及板载传感器指标。
兼容性
此插件需要 Capacitor 8 或更高版本 (@capacitor/core >=8.0.0).
安装
npm install @capgo/capacitor-device-info
npx cap sync
插件功能
getInfo- 读取一次快照,包含 CPU、内存、GPU、存储、热状态、低功耗模式和板载传感器。startMonitoring- 启动周期性快照,用于图表和诊断 dashboard。stopMonitoring- 停止当前数据流。isMonitoring- 检查流状态及已发出的样本数量。removeAllListeners- 移除插件上注册的所有监听器。deviceInfoUpdate- 每个周期性样本都会触发监听器事件。
用法示例
import { DeviceInfo } from '@capgo/capacitor-device-info';
const snapshot = await DeviceInfo.getInfo();
console.log(snapshot.cpu.cores);
console.log(snapshot.memory.usedPercent);
console.log(snapshot.gpu?.renderer);
console.log(snapshot.sensors?.pressureHpa);
将指标流式输出到图表
import { DeviceInfo } from '@capgo/capacitor-device-info';
const samples: number[] = [];
const handle = await DeviceInfo.addListener('deviceInfoUpdate', (sample) => {
if (typeof sample.cpu.usagePercent === 'number') {
samples.push(sample.cpu.usagePercent);
}
});
await DeviceInfo.startMonitoring({
intervalMs: 1000,
emitImmediately: true,
});
// Later:
await DeviceInfo.stopMonitoring();
await handle.remove();
监控默认间隔为 1000 ms,低于 250 ms 的间隔会被限制到 250 ms,并会立即发出一个样本,除非你设置 emitImmediately: false。调用 startMonitoring() 再次使用新选项重启当前会话。每个事件都包含其 sequence, startedAt,以及 elapsedMs.
使用 durationMs 或 sampleCount 以自动停止。如果您不再需要任何监听器,请调用 await DeviceInfo.removeAllListeners().
传感器接入说明
由于不同设备的硬件差异,传感器读数是可选的。Android 在可用时可以报告电池温度、环境温度、湿度、气压、光照、接近度以及尽力而为的 CPU/GPU 热区数值。iOS 会报告 CoreMotion 传感器可用性、热状态和低功耗状态,但 iOS 公开 API 不会暴露原始 CPU 或 GPU 温度。
该插件不获取天气数据。室外温度和湿度需要单独的定位与天气 API 集成。
完整参考文档
继续
如果你正在使用 @capgo/capacitor-device-info 要构建诊断或监控界面,请将其与 @capgo/capacitor-device-info 查看概览, 快速入门 安装及 API 示例,请访问 使用 @capgo/capacitor-barometer 用于专用的压力数据流,以及 使用 @capgo/capacitor-light-sensor 用于专门的光照强度读取。