Auto.js中设备相关的指令
Posted aiguangyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Auto.js中设备相关的指令相关的知识,希望对你有一定的参考价值。
device模块提供了与设备有关的信息与操作,例如:获取设备宽高,内存使用率,IMEI,调整设备亮度、音量等。
此模块的部分函数,例如:调整音量,需要 "修改系统设置" 的权限。如果没有该权限,会抛出 SecurityException 并跳转到权限设置界面。
1. 获取设备信息
1. 获取设备屏幕分辨率宽度;
device.width
2. 获取设备屏幕分辨率高度;
device.height
3. 获取修订版本号,或者诸如"M4-rc20"的标识;
device.buildId
4. 获取设备的主板型号;
device.broad
5. 获取与产品或硬件相关的厂商品牌,如"Xiaomi", "Huawei"等;
device.brand
6. 获取设备在工业设计中的名称;
device.device
7. 获取设备型号;
deivce.model
8. 获取整个产品的名称;
device.product
9. 获取设备Bootloader的版本;
device.bootloader
10. 获取设备的硬件名称;
device.hardware
11. 获取构建的唯一标识码;
device.fingerprint
12. 获取硬件序列号;
device.serial
13. 获取安卓系统API版本;
device.sdkInt
14. 获取android系统版本号;
device.release
15. 获取安全补丁程序级别;
device.securityPatch
16. 获取开发代号;
device.codename
17. 获取设备的IMEI;
device.getIMEI()
18. 获取设备的Android ID;
device.getAndroidId()
Android ID为一个用16进制字符串表示的64位整数,在设备第一次使用时随机生成,之后不会更改,除非恢复出厂设置。
19. 获取设备的Mac地址;
device.getMacAddress()
该函数需要在有WLAN连接的情况下才能获取,否则会返回null。未来可能增加有root权限的情况下通过root权限获取,从而在没有WLAN连接的情况下也能返回正确的Mac地址,因此请勿使用此函数判断WLAN连接。
20. 获取设备内存总量,单位字节(B);
device.getTotalMem()
21. 获取设备当前可用的内存,单位字节(B);
device.getAvailMem()
22. 获取当前电量百分比;
device.getBattery()
23. 获取设备是否正在充电;
device.isCharging()
2. 获取并改变设备亮度
1. 获取当前的亮度(手动);
device.getBrightness()
2. 获取当前亮度模式,0为手动亮度,1为自动亮度;
device.getBrightnessMode()
3. 设置屏幕亮度;
device.setBrightness(b)
b number 亮度
如果当前是自动亮度模式,该函数不会改变屏幕的亮度。
此函数需要"修改系统设置"的权限,如果没有该权限,会抛出SecurityException并跳转到权限设置界面。
4. 设置当前亮度模式;
device.setBrightnessMode(mode)
mode number 亮度模式,0为手动亮度,1为自动亮度。
此函数需要"修改系统设置"的权限,如果没有该权限,会抛出 SecurityException 并跳转到权限设置界面。
3. 获取并改变设备音量
1. 获取当前媒体音量;
device.getMusicVolume()
2. 获取当前通知音量;
device.getNotificationVolume()
3. 获取当前闹钟音量;
device.getAlarmVolume()
4. 获取媒体音量的最大值;
device.getMusicMaxVolume()
5. 获取通知音量的最大值;
device.getNotificationMaxVolume()
6. 获取闹钟音量的最大值;
device.getAlarmMaxVolume()
7. 设置当前媒体音量;
device.setMusicVolume(volume)
volume number 音量
此函数需要"修改系统设置"的权限,如果没有该权限,会抛出SecurityException并跳转到权限设置界面。
8. 设置当前通知音量;
device.setNotificationVolume(volume)
volume number 音量
此函数需要"修改系统设置"的权限,如果没有该权限,会抛出SecurityException并跳转到权限设置界面。
9. 设置当前闹钟音量;
device.setAlarmVolume(volume)
volume number 音量
此函数需要"修改系统设置"的权限,如果没有该权限,会抛出SecurityException并跳转到权限设置界面。
4. 获取并改变设备屏幕状态
1. 获取设备屏幕是否是亮着的;
device.isScreenOn()
如果屏幕亮着,返回 true ; 否则返回 false。
需要注意的是,类似于vivo xplay系列的息屏时钟不属于"屏幕亮着"的情况,虽然屏幕确实亮着,但只能显示时钟而且不可交互,此时 isScreenOn() 也会返回 false。
2. 唤醒设备,包括唤醒设备CPU、屏幕等,可以用来点亮屏幕;
device.wakeUp()
3. 如果屏幕没有点亮,则唤醒设备;
device.wakeUpIfNeeded()
4. 保持屏幕常亮;
device.keepScreenOn([timeout])
timeout number 屏幕保持常亮的时间, 单位毫秒。如果不加此参数,则一直保持屏幕常亮。
此函数无法阻止用户使用锁屏键等正常关闭屏幕,只能使得设备在无人操作的情况下保持屏幕常亮;同时,如果此函数调用时屏幕没有点亮,则会唤醒屏幕。
在某些设备上,如果不加参数timeout,只能在Auto.js的界面保持屏幕常亮,在其他界面会自动失效,这是因为设备的省电策略造成的。因此,建议使用比较长的时长来代替"一直保持屏幕常亮"的功能,例如:device.keepScreenOn(3600 * 1000)。
可以使用 device.cancelKeepingAwake() 来取消屏幕常亮。
5. 保持屏幕常亮,但允许屏幕变暗来节省电量;
device.keepScreenDim([timeout])
timeout number 屏幕保持常亮的时间, 单位毫秒。如果不加此参数,则一直保持屏幕常亮。
此函数可以用于定时脚本唤醒屏幕操作,不需要用户观看屏幕,可以让屏幕变暗来节省电量。
此函数无法阻止用户使用锁屏键等正常关闭屏幕,只能使得设备在无人操作的情况下保持屏幕常亮。同时,如果此函数调用时屏幕没有点亮,则会唤醒屏幕。
可以使用 device.cancelKeepingAwake() 来取消屏幕常亮。
6. 取消设备保持唤醒状态;
device.cancelKeepingAwake()
用于取消相关函数设置的屏幕常亮。
5. 设置设备震动状态
1. 使设备震动一段时间;
device.vibrate(millis)
millis number 震动时间,单位毫秒。
2. 将震动状态取消;
device.cancelVibration()
以上是关于Auto.js中设备相关的指令的主要内容,如果未能解决你的问题,请参考以下文章