2012-08-09 123 views
2

我有一個android平板電腦安裝在一個機器人,它有單獨的累加器,我需要關閉平板電腦時,該蓄電池放電。 有什麼辦法可以從android應用程序中做到這一點? 我可以根據需要對設備進行根目錄。有沒有辦法通過編程禁用android設備?

UPD - 平板電腦 - 宏基Iconia A100,ICS。

UPD2

這裏是工作的代碼

try { 
     Process process = new ProcessBuilder() 
      .command("/system/bin/su") 
      .start(); 
      OutputStream o =process.getOutputStream(); 
      o.write("/system/bin/reboot -p\n".getBytes()); 

    } catch (Exception e) { 
     Toast.makeText(getApplicationContext(), "fail!", Toast.LENGTH_LONG).show(); 
    } 
+0

究竟是什麼你的意思是禁用? – meeDamian 2012-08-09 11:31:29

+0

我的意思是關閉電源 – Raiv 2012-08-09 12:41:45

+0

你也許可以用Tasker做到這一點,這可能會更容易,但也意味着你可以通過編程來做到這一點。 – Stieffers 2012-08-09 12:49:04

回答

2

如何類似的東西(這將在已解鎖裝置只工作):

try { 
    // it's possible you'd have to provide full path to rebot here (ex. '/system/bin/reboot -p' ??) 
    Runtime.getRuntime().exec("reboot -p"); 
} catch(Exception e) { // pokemon catching 

} 

全部工作示例(更新):

try { 
    // if that's not working use '/system/bin/su' instead 
    Runtime.getRuntime().exec(new String[]{"su", "-c", "reboot -p"}); 

} catch(Exception e) { } 
+0

是的,重新啓動工作!我不知道-p屬性會關閉設備( – Raiv 2012-08-09 12:59:30

+0

我在終端模擬器中測試了重啓,並且一切正常,但是如果我調用Runtime.exec(「rebo​​ot -p」),它會掛起創建的進程... Runtime.exec (「su」)正常工作 – Raiv 2012-08-09 17:23:20

+0

是的,因爲你必須先打電話給su,我已經用完整的解決方案更新了我的答案:)它的工作原理,我只是檢查它,你必須授予應用程序許可並記住它們在每個設備上,這樣的過程可以完全自動化:) – meeDamian 2012-08-09 19:06:07

相關問題