1. 程式人生 > >使用ADB更改系統設定中的引數 如背光亮度、休眠時間等

使用ADB更改系統設定中的引數 如背光亮度、休眠時間等

感謝https://blog.csdn.net/jimbo_lee/article/details/52168189 分享

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中定義了。

該命令可以很方便的更改系統設定中的引數(如修改系統預設輸入法),給出幾個使用該命令的例子:

#獲取系統預設輸入法

#預設搜狗輸入法

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獲得裝置網路狀態的方法。