使用ADB更改系统设置中的参数 如背光亮度、休眠时间等

adb shell settings ....


Android4.2以后的源码android-17\com\android\commands目录下较之前的版本多了一个settings命令,查看其中的SettingsCmd.java文件,末尾有命令的帮助信息:

private static void printUsage() {

        System.err.println("usage:  settings [--user NUM] get namespace key");

        System.err.println("        settings [--user NUM] put namespace key value");

        System.err.println("\n'namespace' is one of {system, secure, global}, case-insensitive");

        System.err.println("If '--user NUM' is not given, the operations are performed on the owner user.");

    }

选项中的key为什么值,很难从帮助信息中看出,从代码中查看该key值是在android.provider.Settings中定义了。

http://developer.android.com/reference/android/provider/Settings.System.html

该命令可以很方便的更改系统设置中的参数(如修改系统默认输入法),给出几个使用该命令的例子:

#获取系统默认输入法

#默认搜狗输入法

C:\Users\Administrator>adb shell settings get secure default_input_method

com.sohu.inputmethod.sogouoem/.SogouIME

 

#默认为Appium使用中文输入时安装的输入法

C:\Users\Administrator>adb shell settings get secure default_input_method

io.appium.android.ime/.UnicodeIME

 

#put命令更改默认输入法(将io.appium.android.ime/.UnicodeIME改为com.sohu.inputmethod.sogouoem/.SogouIME)

C:\Users\Administrator>adb shell settings put secure default_input_method com.sohu.inputmethod.sogouoem/.SogouIME

#获取亮度是否为自动获取

C:\Users\Administrator>adb shell settings get system screen_brightness_mode

1

#获取当前亮度值

C:\Users\Administrator>adb shell settings get system screen_brightness

30

#更改亮度值(亮度值在0—255之间)

C:\Users\Administrator>adb shell settings put system screen_brightness 150

#获取屏幕休眠时间

C:\Users\Administrator>adb shell settings get system screen_off_timeout

15000

#更改休眠时间,10分钟

C:\Users\Administrator>adb shell settings put system screen_off_timeout 600000

#获取日期时间选项中通过网络获取时间的状态,1为允许、0为不允许

C:\Users\Administrator>adb shell settings get global auto_time

1

#更改该状态,从1改为0

C:\Users\Administrator>adb shell settings put global auto_time 0

以及获取、修改wifi状态(wifi_on)、飞行模式(airlpane_mode_on)等,这里也是appium中getNetworkConnection获得设备网络状态的方法。


### 设置 Android 设备光亮度的方法 可以通过 `ADB` 命令来调整 Android 设备的屏幕光亮度。以下是实现这一功能的具体方法: #### 方法一:通过修改系统属性 可以利用 `settings put system screen_brightness` 来设置系统的屏幕亮度值[^1]。 ```bash adb shell settings put system screen_brightness <value> ``` 其中 `<value>` 是一个整数值,范围通常为 0 到 255(具体取决于设备)。例如,要将亮度设置为最大值,则执行如下命令: ```bash adb shell settings put system screen_brightness 255 ``` 如果希望恢复到自动调节亮度模式,还需要禁用手动亮度控制并启用自动亮度调节: ```bash adb shell settings put system screen_brightness_mode 1 ``` 这里的 `screen_brightness_mode` 参数中,`1` 表示开启自动亮度调节,而 `0` 表示关闭自动亮度调节[^4]。 --- #### 方法二:直接写入 `/sys/class/backlight/` 文件 某些设备支持直接向底层硬件接口发送指令以更改光亮度。这需要访问特定路径下的文件,通常是 `/sys/class/backlight/<backlight>/brightness`[^3]。 首先确认是否存在该路径以及其权限是否允许写入: ```bash adb shell ls -l /sys/class/backlight/ ``` 假设存在名为 `lcd_backlight` 的子目录,则可通过以下方式设置亮度: ```bash adb shell echo <value> > /sys/class/backlight/lcd_backlight/brightness ``` 同样地,`<value>` 应当是一个介于最小值和最大值之间的整数。这些边界值可以在同一目录下找到,分别对应於 `min_brightness` 和 `max_brightness` 文件的内容。 需要注意的是,此方法可能因不同厂商定制 ROM 或者内核版本差异而不兼容所有机型。 --- #### 方法三:启动应用时动态调整亮度 假如目标是在运行某个应用程序的同时改变屏幕亮度,那么可以直接借助 Activity Manager (`am`) 工具完成此项任务[^2]。下面给出的例子展示了如何一边打开指定的应用程序一边设定合适的显示参数: ```bash adb shell am start -a android.intent.action.MAIN \ --es brightness "<float_value>" \ -n com.example.app/.MainActivity ``` 这里 `<float_value>` 需要是浮点型数据形式表示相对强度比例比如 `"0.5"` 对应一半满量程输出功率。 --- ### 注意事项 - 修改前建议备份当前配置以防误操作引起异常行为。 - 不同品牌手机可能存在细微差别,请参照实际开发文档验证适用性。 - 如果遇到权限不足的情况,尝试给定 root 权限后再重试上述步骤。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值