Android root環境下的一些可用操作(關機命令,系統時間,重啟命令)
阿新 • • 發佈:2019-01-05
近期正在做一些需要root許可權的功能,比如關機,重啟等,下面總結一下用過的root嚇得linux命令使用
1.重啟操作
Runtime.getRuntime().exec("su -c reboot");
2.關機(1)
Runtime.getRuntime().exec("su -c reboot -p");
本來要用shutdown指令的,但是網上查的時候說android下沒有這個檔案,所以用-p的方式,但是我用這種執行方式測試的時候是重啟,下面是另一種成功的執行方式
3.關機(2)
createSuProcess("reboot -p").waitFor();
public static Process createSuProcess(String cmd) throws IOException { DataOutputStream os = null; Process process = createSuProcess(); try { os = new DataOutputStream(process.getOutputStream()); os.writeBytes(cmd + "\n"); os.writeBytes("exit $?\n"); } finally { if(os != null) { try { os.close(); } catch (IOException e) { } } } return process; }
4.系統時間調節public static Process createSuProcess() throws IOException { File rootUser = new File("/system/xbin/ru"); if(rootUser.exists()) { return Runtime.getRuntime().exec(rootUser.getAbsolutePath()); } else { return Runtime.getRuntime().exec("su"); } }
try { Process process = Runtime.getRuntime().exec("su"); String datetime=timeSu.replace(" ",".").replace(":","") + "00"; //測試的設定的時間【時間格式 yyyyMMdd.HHmmss】 LogMessage.write(1,"時間設定引數:" + datetime); DataOutputStream os = new DataOutputStream(process.getOutputStream()); os.writeBytes("setprop persist.sys.timezone GMT+16:00\n"); os.writeBytes("/system/bin/date -s "+datetime+"\n"); os.writeBytes("clock -w\n"); os.writeBytes("exit\n"); os.flush(); } catch (IOException e) { e.printStackTrace(); }