簡體   English   中英

android實用地改變設備屏幕分辨率

[英]android change device screen resolution pragmatically

我想在我的 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()

經過數小時的反復試驗,我終於弄明白了。 我使用 error 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權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM