跳至主要內容

类: Device

约 1610 字大约 5 分钟道无涯

device.Device

Device类提供获取设备状态、信息、调整设备亮度等方法。它是一个单例,只需要通过const { device } = require('device')即可获取实例。

继承关系

  • EventEmitter

    Device

目录

Accessors

方法

Accessors

androidId

get androidId(): string

Android ID。

参见

https://developer.android.google.cn/reference/android/provider/Settings.Secure#ANDROID_IDopen in new window

返回值

string


battery

get battery(): number

设备的当前电量,为0~100之间的浮点数。

示例

"nodejs";
const { device } = require('device');
console.log(device.battery);

返回值

number


batteryPluggedTypes

get batteryPluggedTypes(): PluggedType[]

设备当前连接的电源类型,例如["usb"]表示连接了USB电源,["ac"]表示连接了交流电源,["wireless", "usb"]表示同时连接了无线和USB电源。如果设备没有连接电源,则返回空数组。

示例

"nodejs";
const { device } = require('device');
console.log(device.batteryPluggedTypes);

返回值

PluggedType[]


bootloader

get bootloader(): string

系统Bootloader的版本号。

参见

https://developer.android.google.cn/reference/android/os/Build.html#BOOTLOADERopen in new window

返回值

string


brightness

get brightness(): number

设备的亮度,范围为0-255。

"nodejs";

const { device } = require("device");
// 打印当前的亮度
console.log(device.brightness);
// 设置亮度为255
device.brightness = 255;

参见

https://developer.android.google.cn/reference/android/provider/Settings.System#SCREEN_BRIGHTNESSopen in new window

返回值

number

set brightness(value): void

参数

名称类型
valuenumber

返回值

void


brightnessMode

get brightnessMode(): BrightnessMode

设备的亮度模式。

"nodejs";

const { device, BrightnessMode } = require("device");
// 打印当前的亮度模式
console.log(device.brightnessMode);
// 设置亮度为自动亮度
device.brightnessMode = BrightnessMode.AUTOMATIC;

参见

https://developer.android.google.cn/reference/android/provider/Settings.System#SCREEN_BRIGHTNESS_MODEopen in new window

返回值

BrightnessMode

set brightnessMode(value): void

参数

名称类型
valueBrightnessMode

返回值

void


buildId

get buildId(): string

设备的构建ID。

参见

https://developer.android.google.cn/reference/android/os/Build.html#IDopen in new window

返回值

string


cpuApis

get cpuApis(): string[]

设备支持的CPU架构的数组,比如['arm64-v8a', 'armeabi-v7a']

返回值

string[]


display

get display(): string

显示给用户的构建ID。

参见

https://developer.android.google.cn/reference/android/os/Build.html#DISPLAYopen in new window

返回值

string


displayMetrics

get displayMetrics(): DisplayMetrics

设置的显示相关信息,比如宽度、高度、像素密度等。

参见

DisplayMetrics

返回值

DisplayMetrics


externalStorageDirectory

get externalStorageDirectory(): string

返回主要的共享/外部存储目录路径,对于现代的Android设备里面,一般指内部存储的目录路径。

注意:不要被这里的“外部”这个词弄糊涂了。最好将此目录视为媒体/共享存储。它是一个文件系统,可以保存相对大量的数据,并且在所有应用程序之间共享(不强制执行权限)。传统上这是一张 SD 卡,但它也可以作为设备中的内置存储实现,与受保护的内部存储不同,并且可以作为文件系统安装在计算机上。

在具有多个用户的设备上(如 UserManager 所述),每个用户都有自己的隔离共享存储。应用程序只能访问它们正在运行的用户的共享存储。

在具有多个共享/外部存储目录的设备中,此目录表示用户将与之交互的主存储。可通过 Context.getExternalFilesDirs(String)、Context.getExternalCacheDirs() 和 Context.getExternalMediaDirs() 访问辅助存储。

应用程序不应该直接使用这个顶级目录,以免污染用户的根命名空间。应用程序私有的任何文件都应放置在 Context.getExternalFilesDir 返回的目录中,如果卸载应用程序,系统将负责删除该目录。其他共享文件应放置在 getExternalStoragePublicDirectory 返回的目录之一中。

写入此路径需要 Manifest.permission.WRITE_EXTERNAL_STORAGE 权限,从 Build.VERSION_CODES.KITKAT 开始,读取权限需要 Manifest.permission.READ_EXTERNAL_STORAGE 权限,如果您拥有写入权限,则会自动授予该权限。

从 Build.VERSION_CODES.KITKAT 开始,如果您的应用程序只需要存储内部数据,请考虑使用不需要读取或写入权限的 Context.getExternalFilesDir(String)、Context.getExternalCacheDir() 或 Context.getExternalMediaDirs()。

此路径可能会在平台版本之间发生变化,因此应用程序应该只保留相对路径。

参见

https://developer.android.google.cn/reference/android/os/Environment#getExternalStorageDirectory()open in new window

返回值

string


fingerprint

get fingerprint(): string

构建的唯一标识字符串。

参见

https://developer.android.google.cn/reference/android/os/Build.html#FINGERPRINTopen in new window

返回值

string


hardware

get hardware(): string

硬件名称。

参见

https://developer.android.google.cn/reference/android/os/Build.html#HARDWAREopen in new window

返回值

string


imei

get imei(): null | string

设备的IMEI。若无权限获取,可能抛出异常;从Android 10开始,应用不再有权限获取IMEI。

参见

https://developer.android.google.cn/reference/android/telephony/TelephonyManager#getDeviceId()open in new window

返回值

null | string


macAddress

get macAddress(): null | string

返回值

null | string


memoryInfo

get memoryInfo(): MemoryInfo

获取当前设备的内存信息, 包括总内存、可用内存、是否低内存状态等。

内存单位为字节,即byte。

示例

"nodejs";
const { device } = require('device');
console.log(`total memory: ${device.memoryInfo.totalMem / 1024 / 1024} MB`);
console.log(device.memoryInfo);

参见

https://developer.android.google.cn/reference/android/app/ActivityManager#getMemoryInfo(android.app.ActivityManager.MemoryInfo)open in new window

返回值

MemoryInfo


product

get product(): Product

设备的产品信息,包括产品名称、设备名称、设备板名、产品品牌、产品型号。

示例

"nodejs";
const { device } = require('device');
console.log(device.product); 
// {
//  name: 'mars',
//  device: 'mars',
//  board: 'mars',
//  brand: 'Xiaomi',
//  model: 'M2102K1AC'
// }

参见

https://developer.android.google.cn/reference/android/os/Build.html#PRODUCTopen in new window

返回值

Product


screenHeight

get screenHeight(): number

设备的屏幕高度,单位为像素。

返回值

number


screenWidth

get screenWidth(): number

设备的屏幕宽度,单位为像素。

返回值

number


serial

get serial(): string

设备的唯一标识符。从Android10开始,应用可能没有权限获取到此值。

参见

https://developer.android.google.cn/reference/android/os/Build.html#getSerial()open in new window

返回值

string

方法

cancelVibration

cancelVibration(): void

取消震动。

参见

https://developer.android.google.cn/reference/android/os/Vibrator.html#cancel()open in new window

返回值

void


getVolume

getVolume(type): number

根据类型获取音量,比如获取媒体音量为device.getVolume("music")

参数

名称类型描述
typeStreamTypeopen in new window音量类型,参见StreamTypeopen in new window

返回值

number


getVolumeRange

getVolumeRange(type): StreamVolumeRange

获取给定音量类型的音量范围,比如{min: 0, max: 15}

参数

名称类型描述
typeStreamTypeopen in new window音量类型,参见StreamTypeopen in new window

返回值

StreamVolumeRange


setVolume

setVolume(type, volume, flags?): void

设置音量,比如设置媒体音量为device.setVolume("music", 10)

参数

名称类型默认值描述
typeStreamTypeopen in new windowundefined音量类型,参见StreamTypeopen in new window
volumenumberundefined要设置的音量
flagsstring[][]标志位,默认为空数组。比如['SHOW_UI', 'PLAY_SOUND', 'VIBRATE']表示调整音量时会弹出提示框,播放提示音,并震动。Flags可选的值参见AudioManageropen in new window

返回值

void


vibrate

vibrate(millis): void

让设备震动一段时间,需要应用在前台时才能调用此函数。

参见

https://developer.android.google.cn/reference/android/os/Vibrator.html#vibrate(long)open in new window

参数

名称类型描述
millisnumber震动时间,单位毫秒

返回值

void