Runtime.exec() : 在 Android 中重新启动?
我正在寻找一种可用于重新启动root设备的解决方案。我知道重新启动设备对用户来说是非常糟糕的设计,如这里所述,它并不是真的适用于应用程序。主要目的是在测试期间重新启动手机(我在视频聊天应用程序上工作,有时当一切向南时,我需要重新启动)
我观察到,在终端(或ConnectBot)中使用重新启动手机要比使用ACTION_REBOOT重新启动要快得多,无论如何我都无法使用。adb shell
目前,我能够获得超级用户权限,使用
Process root = Runtime.getRuntime().exec("su");
但我无法进行实际的重启。我在G1(HTC)和Galaxy S(三星)上尝试,但没有成功。我在/system/bin/reboot
以下是我的一些尝试:
Process reboot = Runtime.getRuntime().exec("/system/bin/reboot");
Process reboot = Runtime.getRuntime().exec("reboot");
Process reboot = Runtime.getRuntime().exec("su reboot");
我读了这篇关于 Runtime.exec() 陷阱的文章,但我认为我不是在这种情况下。
由于使用ConnectBot使我能够执行这样的操作,我非常确定这是可能的。请不要告诉我去看看ConnectBot代码,这是一个庞大而复杂的项目:)
你能帮我解决这个问题吗?
谢谢。