需要root来执行shell命令“input keyevent<#>”通过运行时的应用程序?

时间:2013-01-11 16:34:57

标签: android linux shell

我正在尝试执行adb shell命令input keyevent 5,以便在运行时通过我的应用程序接听电话。

如果我这样做:

Runtime.getRuntime().exec("input keyevent 5");

它似乎没有执行(没有任何事情发生)。但是当我这样做时:

Runtime.getRuntime().exec(new String[] {"su", "-c", "input keyevent 5"});

屏幕上的答案按钮上出现预期的模拟点击。哪个好。

但是有一个问题是,在某些使用超级用户生根的设备上,该命令需要一段时间才能获得超级用户权限。它适用于具有Chainfire的SuperSU su二进制文件的设备。

我的问题是: 是否可以在运行时通过Java代码执行此命令而没有root?

提前致谢!

1 个答案:

答案 0 :(得分:2)

绝对没有!

这将是一个绝对的重大安全问题,因此你必须扎根。