类: Device
device.Device
Device类提供获取设备状态、信息、调整设备亮度等方法。它是一个单例,只需要通过const { device } = require('device')
即可获取实例。
继承关系
EventEmitter
↳
Device
目录
Accessors
- androidId
- battery
- batteryPluggedTypes
- bootloader
- brightness
- brightnessMode
- buildId
- cpuApis
- display
- displayMetrics
- externalStorageDirectory
- fingerprint
- hardware
- imei
- macAddress
- memoryInfo
- product
- screenHeight
- screenWidth
- serial
方法
Accessors
androidId
• get
androidId(): string
Android ID。
参见
https://developer.android.google.cn/reference/android/provider/Settings.Secure#ANDROID_ID
返回值
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);
返回值
bootloader
• get
bootloader(): string
系统Bootloader的版本号。
参见
https://developer.android.google.cn/reference/android/os/Build.html#BOOTLOADER
返回值
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_BRIGHTNESS
返回值
number
• set
brightness(value
): void
参数
名称 | 类型 |
---|---|
value | number |
返回值
void
brightnessMode
• get
brightnessMode(): BrightnessMode
设备的亮度模式。
"nodejs";
const { device, BrightnessMode } = require("device");
// 打印当前的亮度模式
console.log(device.brightnessMode);
// 设置亮度为自动亮度
device.brightnessMode = BrightnessMode.AUTOMATIC;
参见
返回值
• set
brightnessMode(value
): void
参数
名称 | 类型 |
---|---|
value | BrightnessMode |
返回值
void
buildId
• get
buildId(): string
设备的构建ID。
参见
https://developer.android.google.cn/reference/android/os/Build.html#ID
返回值
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#DISPLAY
返回值
string
displayMetrics
• get
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()
返回值
string
fingerprint
• get
fingerprint(): string
构建的唯一标识字符串。
参见
https://developer.android.google.cn/reference/android/os/Build.html#FINGERPRINT
返回值
string
hardware
• get
hardware(): string
硬件名称。
参见
https://developer.android.google.cn/reference/android/os/Build.html#HARDWARE
返回值
string
imei
• get
imei(): null
| string
设备的IMEI。若无权限获取,可能抛出异常;从Android 10开始,应用不再有权限获取IMEI。
参见
https://developer.android.google.cn/reference/android/telephony/TelephonyManager#getDeviceId()
返回值
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);
参见
返回值
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#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()
返回值
string
方法
cancelVibration
▸ cancelVibration(): void
取消震动。
参见
https://developer.android.google.cn/reference/android/os/Vibrator.html#cancel()
返回值
void
getVolume
▸ getVolume(type
): number
根据类型获取音量,比如获取媒体音量为device.getVolume("music")
。
参数
名称 | 类型 | 描述 |
---|---|---|
type | StreamType | 音量类型,参见StreamType |
返回值
number
getVolumeRange
▸ getVolumeRange(type
): StreamVolumeRange
获取给定音量类型的音量范围,比如{min: 0, max: 15}
。
参数
名称 | 类型 | 描述 |
---|---|---|
type | StreamType | 音量类型,参见StreamType |
返回值
setVolume
▸ setVolume(type
, volume
, flags?
): void
设置音量,比如设置媒体音量为device.setVolume("music", 10)
。
参数
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
type | StreamType | undefined | 音量类型,参见StreamType |
volume | number | undefined | 要设置的音量 |
flags | string [] | [] | 标志位,默认为空数组。比如['SHOW_UI', 'PLAY_SOUND', 'VIBRATE'] 表示调整音量时会弹出提示框,播放提示音,并震动。Flags可选的值参见AudioManager。 |
返回值
void
vibrate
▸ vibrate(millis
): void
让设备震动一段时间,需要应用在前台时才能调用此函数。
参见
https://developer.android.google.cn/reference/android/os/Vibrator.html#vibrate(long)
参数
名称 | 类型 | 描述 |
---|---|---|
millis | number | 震动时间,单位毫秒 |
返回值
void