我正在尝试执行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?
提前致谢!
答案 0 :(得分:2)
绝对没有!
这将是一个绝对的重大安全问题,因此你必须扎根。