我需要在启动设备时应用某些adb命令。但是,当我启动我的应用程序时,我们需要它。
adb shell settings put global policy_control immersive.navigation=*
我在网上搜索了
Process p = Runtime.getRuntime().exec("settings put global policy_control immersive.navigation=*");
但不幸的是,这个命令并不起作用。如果我将手机插入PC并直接通过命令窗口运行adb命令 - 一切都很好。但是当我从应用程序执行它时 - 没有任何作用,我甚至没有在日志中看到任何相关的错误。
我也试过这个: https://www.learn2crack.com/2014/03/android-executing-shell-commands.html 和" ls / system / framework"等命令;工作。但是我需要的那个 - 不是。
我的设备是基于android 6.0.1运行miui 8的redmi note 3 pro。我的项目在Eclipse中。
是否可以在没有root的情况下执行这样的操作?
答案 0 :(得分:0)
而不是:
Process p = Runtime.getRuntime().exec("settings put global policy_control immersive.navigation=*");
尝试:
Process p = Runtime.getRuntime().exec(new String[]{"settings", "put", "global", "policy_control", "immersive.navigation=*");
exec
期望该命令是一个字符串数组,其中第一个字符串是命令,其余字符串是其参数