2017-08-29 181 views
0

我需要在设备启动时应用某些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中。

是否有可能执行这样一个无根或没有根?

+0

HTTPS ://developer.android.com/studio/tools/sdk/eclipse-adt.html –

回答

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期望命令是一个字符串数组,其中所述第一字符串是命令和其余的是它的参数

相关问题