我正在尝试执行adb
shell命令输入keyevent 5以在运行时通过我的应用程序接听电话.
如果我这样做:
Runtime.getRuntime().exec("input keyevent 5");
它似乎没有执行(没有任何事情发生).但是当我这样做时:
Runtime.getRuntime().exec(new String[] {"su", "-c", "input keyevent 5"});
屏幕上的答案按钮上的预期模拟点击发生.这很好.
但是有一个问题是,在使用超级用户生根的某些设备上,该命令需要一段时间才能获得超级用户权限.它适用于具有Chainfire的SuperSU su二进制文件的设备.
我的问题是:
是否可以在运行时通过Java代码执行此命令而无需root?
提前致谢!
最佳答案 绝对没有!
这将是一个绝对的重大安全问题,因此你必须扎根.