RK3288 ROOT权限Android系统
/**
* 设置时间
*
* @param params yyyy/MM/dd HH:mm:ss
*/
public void setTime(String params) {
String[] items = params.split(" ");
String[] ymd = items[0].split("/");
String[] hms = items[1].split(":");
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
calendar.set(Calendar.YEAR, Integer.parseInt(ymd[0]));
calendar.set(Calendar.MONTH, Integer.parseInt(ymd[1]) - 1);
calendar.set(Calendar.DAY_OF_MONTH, Integer.parseInt(ymd[2]));
calendar.set(Calendar.HOUR, Integer.parseInt(hms[0]));
calendar.set(Calendar.MINUTE, Integer.parseInt(hms[1]));
calendar.set(Calendar.SECOND, Integer.parseInt(hms[2]));
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
String date = dateFormat.format(calendar.getTime());
SimpleDateFormat format = new SimpleDateFormat("MMddHHmmyyyy.ss");
format.setTimeZone(TimeZone.getTimeZone("UTC"));
String time = format.format(calendar.getTime());
try {
File rootUser = new File("/system/xbin/ru");
Process process = Runtime.getRuntime().exec(rootUser.exists() ? rootUser.getAbsolutePath() : "su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
String command = "date \"" + time + "\"";
os.writeBytes(command + "\n");
os.writeBytes("exit\n");
os.flush();
int exitCode = process.waitFor();
if (exitCode == 0) {
Log.i(TAG, "系统时间设置成功 " + date);
} else {
Log.e(TAG, "系统时间" + date + "设置失败,退出状态码:" + exitCode);
}
} catch (Exception e) {
e.printStackTrace();
}
}