# 设备信息 device

# 接口声明

{ "name": "system.device" }
1

# 导入模块

import device from '@system.device'const device = require('@system.device')
1

# 接口定义

# device.getInfo(OBJECT)

获取设备信息

# 参数:

参数名 类型 必填 说明
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调
# success 返回值:
参数值 类型 说明
brand String 设备品牌
manufacturer String 设备生产商
model String 设备型号
product String 设备代号
osType String 操作系统名称
osVersionName String 操作系统版本名称
osVersionCode Integer 操作系统版本号
platformVersionName String 运行平台版本名称
platformVersionCode Integer 运行平台版本号
language String 系统语言
region String 系统地区
screenWidth Integer 屏幕宽
screenHeight Integer 屏幕高
windowWidth Integer 可使用窗口宽度
windowHeight Integer 可使用窗口高度
statusBarHeight Integer 状态栏高度
screenDensity Float 设备的屏幕密度
vendorOsName String 手机厂商系统的名称,如 ColorOS
vendorOsVersion String 手机厂商系统的版本号
cutout Array 针对异形屏(比如刘海屏、水滴屏和开孔屏)返回异形区域的位置大小。Array 中每个 item 表示一个异形区域的描述。item 参数:
left:cutout 左边界距离屏幕左边距离
top:cutout 上边界距离屏幕上边距离
right:cutout 右边界距离屏幕右边距离
bottom:cutout 下边界距离屏幕下边距离
cutout 的坐标描述以竖屏为基准。即在横屏和竖屏下获取的 cutout 参数描述都是一样的。
deviceType 2+ String 当前快应用引擎的设备类型,手表版为'watch',手机版为'phone',电视为'tv',平板为'tablet',折叠屏为'foldable',手环为'band',智能音箱为'smartspeaker'
screenRefreshRate Float 获取屏幕显示刷新率(获取帧率可能不为60, 90, 144等标准帧率)

# 示例:

device.getInfo({
  success: function(ret) {
    console.log(`handling success, brand = ${ret.brand}`)
  }
})
1
2
3
4
5

# device.getId(OBJECT)

批量获取设备标识

# 权限要求

获取手机状态

# 参数:

参数名 类型 必填 说明
type Array 支持 device、mac、user、advertising 四种类型,可提供一至多个
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调
# success 返回值:

按照传入的 type 返回对应的 id,未在 type 中出现的 id 类型不会返回

参数名 类型 说明
device String 设备唯一标识。
mac String 设备的 mac 地址。
user String 用户唯一标识。
advertising String 广告唯一标识
# fail 返回错误代码
错误码 说明
201 用户拒绝授权
207 用户拒绝并勾选不再询问复选框

# 示例:

device.getId({
  type: ['device', 'mac'],
  success: function(data) {
    console.log(`handling success: ${data.device}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}, errorMsg=${data}`)
  }
})
1
2
3
4
5
6
7
8
9

# device.getDeviceId(OBJECT)

获取设备唯一标识

# 权限要求

获取手机状态

# 参数:

参数名 类型 必填 说明
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调
# success 返回值:
参数值 类型 说明
deviceId String 设备唯一标识。
# fail 返回错误代码
错误码 说明
201 用户拒绝授权
207 用户拒绝并勾选不再询问复选框
device.getDeviceId({
  success: function(data) {
    console.log(`handling success: ${data.deviceId}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})
1
2
3
4
5
6
7
8

# device.getSerial(OBJECT)

获取设备序列号

# 权限要求

获取手机状态

# 参数:

参数名 类型 必填 说明
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调
# success 返回值:
参数值 类型 说明
serial String 设备序列号
device.getSerial({
  success: function(data) {
    console.log(`handling success: ${data.serial}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})
1
2
3
4
5
6
7
8

# device.getTotalStorage(OBJECT)

获取存储空间的总大小

# 参数:

参数名 类型 必填 说明
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调
# success 返回值:
参数值 类型 说明
totalStorage Number 存储空间的总大小,单位是 Byte。
device.getTotalStorage({
  success: function(data) {
    console.log(`handling success: ${data.totalStorage}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})
1
2
3
4
5
6
7
8

# device.getAvailableStorage(OBJECT)

获取存储空间的可用大小

# 参数:

参数名 类型 必填 说明
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调
# success 返回值:
参数值 类型 说明
availableStorage Number 存储空间的可用大小,单位是 Byte。
device.getAvailableStorage({
  success: function(data) {
    console.log(`handling success: ${data.availableStorage}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})
1
2
3
4
5
6
7
8