我想在我的android应用程序中出于特殊目的更改设备分辨率和密度。
我发现使用adb
可以执行此命令。
像这样
adb shell wm size 1270x720
and then
adb shell wm density 200
我还听说可以在应用程序内使用adb
命令,但似乎不起作用。
cmd1 = "wm size 1270x720"
cmd2 = "wm density 200"
Runtime.getRuntime().exec(cmd 1/2).waitFor()
答案 0 :(得分:0)
经过数小时的反复试验,我终于明白了。我使用错误errorStream
而不是inputStream
,因为命令遇到错误,其输入为空。
val process = Runtime.getRuntime().exec(command)
val bufferedReader = BufferedReader(
InputStreamReader(process.errorStream)
)
// Grab the results
val log = StringBuilder()
var line: String?
line = bufferedReader.readLine()
while (line != null) {
log.append(line + "\n")
line = bufferedReader.readLine()
}
Log.i("ADB_COMMAND", "command : $command $log")
此修复程序显而易见。我缺少WRITE_SECURE_SETTINGS
权限。