android运行时命令问题

时间:2011-06-09 08:54:00

标签: android

我正在尝试重新启动我的Android设备(进行Android移植)以进行测试。

我的代码:

try {
            Runtime rt = Runtime.getRuntime();
            Process proc = rt.exec("reboot");

            InputStream is = proc.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            String line;

            while ((line = br.readLine()) != null) {
                Log.i("runtime","line : " + line);
            }
        } catch (Throwable t) {
            t.printStackTrace();
        }

但设备没有自行重启。

如果我将命令更改为

Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("ls");

它运行良好,显示所有目录。

当我在adb shell中输入“rebo​​ot”时,它也有效。为什么???

reboot只是工具箱命令之一,我还运行其他可以在shell中运行的命令。 但是,除了'ls'之外,它们都不能用rt.exec工作。 有人可以告诉我如何使它从Android运行时工作? 感谢

2 个答案:

答案 0 :(得分:1)

你不能在非root手机上这样做:

How to boot android phone programmatically?

答案 1 :(得分:1)