在我的Android应用程序中执行adb shell命令
问题描述:
我需要在设备启动时应用某些adb命令。但是让我们说,当我启动我的应用程序时,我需要它。在我的Android应用程序中执行adb shell命令
adb shell settings put global policy_control immersive.navigation=*
我在网上搜索,并与
Process p = Runtime.getRuntime().exec("settings put global policy_control immersive.navigation=*");
想出但unfortunally这COMAND不起作用。如果我将手机插入PC并直接通过命令窗口运行adb命令 - 一切正常。但是,当我从应用程序执行它 - 没有任何工作,我甚至没有看到日志中的任何相关的错误。
我也试过这个: https://www.learn2crack.com/2014/03/android-executing-shell-commands.html 和像“ls/system/framework”这样的命令有效。但是我需要的那个 - 不。
我的设备是红米Note 3基于Android 6.0.1运行MIUI 8。我的项目在Eclipse中。
是否有可能执行这样一个无根或没有根?
答
代替:
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
期望命令是一个字符串数组,其中所述第一字符串是命令和其余的是它的参数
HTTPS ://developer.android.com/studio/tools/sdk/eclipse-adt.html –