分享一下鸿蒙获取设备信息的方法(上篇)
获取设备名称
import { deviceInfo } from '@kit.BasicServicesKit'
// 获取设备名称
async getDeviceName() {
// 模拟器为 emulator
this.deviceName = deviceInfo.marketName
}
获取CPU占用率
import { hidebug } from '@kit.PerformanceAnalysisKit'
// 获取进程 CPU 占用率
getCpuUsage() {
this.cpuUsage = hidebug.getCpuUsage() * 100
}
获取剩余内存储
关于千字节百科解释:baike.baidu.com/item/KB/331
*手机、MacOS、Linux、硬盘、U盘、存储卡、DVD 的文件大小均是以十进制前缀记录的,即 1KB = 1000B*
*只有 Windows 系统的文件大小以 1KB = 1024B 记录。*
import { statfs } from '@kit.CoreFileKit'
// 获取剩余存储
async getStatfsSize() {
// 获取上下文
const context = getContext()
// 字节数转GB, 1000B = 1KB,1000KB = 1MB,1000MB = 1GB
this.statfsFreeSize = statfs.getFreeSizeSync(context.filesDir) / (1000 * 1000 * 1000)
// 系统设置 -> 存储 验证剩余容量
}
获取系统电池电量
import { batteryInfo } from '@kit.BasicServicesKit'
// 获取电量信息
async getBatteryState() {
this.batteryState = batteryInfo.batterySOC
}
获取设备信息
[@ohos.deviceInfo (设备信息)](@ohos.deviceInfo (设备信息)-设备管理-ArkTS API-Basic Services Kit(基础服务)-基础功能-系统 - 华为HarmonyOS开发者 (huawei.com))
import { deviceInfo } from '@kit.BasicServicesKit';
// 获取设备信息
getDeviceInfo() {
this.marketName = deviceInfo.marketName
this.osFullName = deviceInfo.osFullName
this.sdkApiVersion = deviceInfo.sdkApiVersion.toString()
this.deviceType = deviceInfo.deviceType
}
获取系统运行时间
import { process } from '@kit.ArkTS'
// 获取系统运行时间,单位秒
getProcessUptime() {
this.uptime = process.uptime()
}
使用三方dayjs处理日期时间
安装 dayjs
ohpm install dayjs
dayjs 官方文档:day.js.org/docs/zh-CN/… 基于获取的系统运行秒数,计算出上次启动时间和运行时间
import dayjs from 'dayjs';
import duration from 'dayjs/plugin/duration';
// 计算上次启动时间,YYYY-MM-DD HH:mm:ss
formatToDateTime(seconds: number) {
const now = dayjs(); // 获取当前时间
const dayjsInstance = now.subtract(seconds, 'seconds') // 减去秒数得到新日期对象
return dayjsInstance.format('YYYY-MM-DD HH:mm:ss')
}
// 计算运行时间:D天HH小时mm分
formatToDate(seconds: number) {
dayjs.extend(duration) // 依赖 duration 插件,duration 函数才能正常运行
const dayjsInstance = dayjs.duration(seconds, 'seconds') // 根据秒数计算时长
return dayjsInstance.format('D天H小时mm分')
}