2011-06-09 99 views
2

我想重新啓動我的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」時,它也起作用。爲什麼???

重新啓動只是工具箱命令之一,我也運行其他命令,可以從shell工作。 但是,除了'ls'之外,它們都不能從rt.exec工作。 有人能告訴我如何使它從android運行時工作? 感謝

+0

殼也許是可行的,因爲你有一個root shell。如果您在非root用戶的shell中執行此操作: $ reboot reboot:操作不允許 – 2011-06-09 09:12:12

回答