教程 框架 组件 接口 工具 其他

设备信息 device

接口声明

{ "name": "system.device" }

导入模块

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

接口定义

device.getInfo(OBJECT)

获取设备信息

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数值类型说明
brandString设备品牌
manufacturerString设备生产商
modelString设备型号
productString设备代号
osTypeString操作系统名称
osVersionNameString操作系统版本名称
osVersionCodeInteger操作系统版本号
platformVersionNameString运行平台版本名称
platformVersionCodeInteger运行平台版本号
languageString系统语言
regionString系统地区
screenWidthInteger屏幕宽
screenHeightInteger屏幕高
windowWidth 1030+Integer可使用窗口宽度
windowHeight 1030+Integer可使用窗口高度
statusBarHeight 1030+Integer状态栏高度
screenDensity 1040+Float设备的屏幕密度
vendorOsName 1080+String手机厂商系统的名称,如 ColorOS
vendorOsVersion 1080+String手机厂商系统的版本号
cutout 1080+Array针对异形屏(比如刘海屏、水滴屏和开孔屏)返回异形区域的位置大小。Array 中每个 item 表示一个异形区域的描述。item 参数:
left:cutout 左边界距离屏幕左边距离
top:cutout 上边界距离屏幕上边距离
right:cutout 右边界距离屏幕右边距离
bottom:cutout 下边界距离屏幕下边距离
cutout 的坐标描述以竖屏为基准。即在横屏和竖屏下获取的 cutout 参数描述都是一样的。
deviceType 1090+String当前快应用引擎的设备类型,手机版为'phone',电视为'tv',平板为'tablet',折叠屏为'foldable'
screenRefreshRate 1100+Float获取屏幕显示刷新率(获取帧率可能不为60, 90, 144等标准帧率)

示例:

device.getInfo({
  success: function(ret) {
    console.log(`handling success, brand = ${ret.brand}`)
  }
})

device.getId(OBJECT)

批量获取设备标识,需要用户授权

权限要求

获取手机状态

参数:

参数名类型必填说明
typeArray支持 device、mac、user、advertising 1000+四种类型,可提供一至多个
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:

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

参数名类型说明
deviceString设备唯一标识。在 Android 上返回 IMEI 或 MEID; 在 Android Q 之后,除了华为手机返回 aaid(应用匿名设备标识符),其他厂商手机如果支持 oaid(匿名设备标识符)则返回 oaid,否则返回空值。
macString设备的 mac 地址。在 Android M 及以上返回固定值:02:00:00:00:00:00
userString用户唯一标识。在 Android 上返回 androidid
advertising 1000+String广告唯一标识
fail 返回错误代码
错误码说明
201用户拒绝授权
207 1100+用户拒绝并勾选不再询问复选框

示例:

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}`)
  }
})

device.getDeviceId(OBJECT) 1000+

获取设备唯一标识。需要用户授权

权限要求

获取手机状态

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数值类型说明
deviceIdString设备唯一标识。在 Android 上返回 IMEI 或 MEID; 在 Android Q 之后,除了华为手机返回 aaid(应用匿名设备标识符),其他厂商手机如果支持 oaid(匿名设备标识符)则返回 oaid,否则返回空值。
fail 返回错误代码
错误码说明
201用户拒绝授权
207 1100+用户拒绝并勾选不再询问复选框
device.getDeviceId({
  success: function(data) {
    console.log(`handling success: ${data.deviceId}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

device.getUserId(OBJECT) 1000+

获取用户唯一标识

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数值类型说明
userIdString用户唯一标识。在 Android 上返回 androidid
device.getUserId({
  success: function(data) {
    console.log(`handling success: ${data.userId}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

device.getAdvertisingId(OBJECT) 1000+

获取广告唯一标识

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数值类型说明
advertisingIdString广告唯一标识
device.getAdvertisingId({
  success: function(data) {
    console.log(`handling success: ${data.advertisingId}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

device.getSerial(OBJECT) 1040+

获取设备序列号

权限要求

获取手机状态

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调,根据Android平台要求,Android 10开始不允许向第三方应用提供SN,该接口将回调fail,建议使用其他系统标识符如OAID替代
completeFunction执行结束后的回调
success 返回值:
参数值类型说明
serialString设备序列号
device.getSerial({
  success: function(data) {
    console.log(`handling success: ${data.serial}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

device.getTotalStorage(OBJECT) 1000+

获取存储空间的总大小

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数值类型说明
totalStorageNumber存储空间的总大小,单位是 Byte。在 Android 上返回的是外部存储的总大小
device.getTotalStorage({
  success: function(data) {
    console.log(`handling success: ${data.totalStorage}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

device.getAvailableStorage(OBJECT) 1000+

获取存储空间的可用大小

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数值类型说明
availableStorageNumber存储空间的可用大小,单位是 Byte。在 Android 上返回的是外部存储的可用大小
device.getAvailableStorage({
  success: function(data) {
    console.log(`handling success: ${data.availableStorage}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

device.getCpuInfo(OBJECT) 1000+

返回 CPU 信息

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数值类型说明
cpuInfoStringCPU 信息。在 Android 上返回的是/proc/cpuinfo 文件的内容
device.getCpuInfo({
  success: function(data) {
    console.log(`handling success: ${data.cpuInfo}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

device.getOAID(OBJECT) 1060+

返回厂商设备标识符中的 OAID(匿名设备标识符)

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数值类型说明
oaidStringoaid 的值,如果当前手机还不支持 oaid,返回空值
device.getOAID({
  success: function(data) {
    console.log(`handling success: ${data.oaid}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

device.platform1030+

同步方法获取平台版本信息

返回值:

返回 platform 对象,包含下列属性

属性类型说明
versionNameString运行平台版本名称
versionCodeInteger运行平台版本号

示例:

var device = require('@system.device')
var platform = device.platform
var versionName = platform.versionName
var versionCode = platform.versionCode

属性 1060+

名称参数类型是否可读是否可写描述
allowTrackOAID  Boolean限制 oaid 以及 android q 以上的 deviceId 是否可以用于广告跟踪

示例:

var device = require('@system.device')
var allowTrackOAID = device.allowTrackOAID

device.host1070+

同步方法获取宿主信息

返回值:

返回host对象。在应用模式下,返回引擎包名,如 org.hapjs.mockup。卡片模式下,返回加载卡片的宿主信息,包含下列属性

属性类型说明
packageString宿主的包名。如调试器的名称是 org.hapjs.debugger
versionNameString宿主的版本名称
versionCodeInteger宿主的版本号

示例:

var device = require('@system.device')
var host = device.host
var package = host.package
var versionName = host.versionName
var versionCode = host.versionCode

后台运行限制

无限制。
后台运行详细用法参见后台运行 脚本

条匹配 "" 的结果

    没有搜索到与 "" 相关的内容