问题描述:
本文是上一篇使用DatePicker和TimerPicker设置日期时间的更新。
主要是在Process命令执行更改日期时间的时候,重启设备并没有生效
这个很关键,设置时间必须得有重启验证才行的。
于是乎,命令“su \\ date -s 20220102.020300"执行后,还需要添加一个命令。
这个命令是hwclock,在linux下hwclock可以直接执行,但是Android的adb shell下不行。
得通过命令“busybox hwclock -f /dev/rtc0"控制硬件设备名去实现。
但是,上述方式也是无效的,问题在于busybox hwclock命令执行是成功的,但是效果确实不行的。我也不知道为什么,像hwclock -w之类的都不行。
解决办法:
1.首先解决Process执行多命令问题:
Process process = Runtime.getRuntime().exec("su \\ busybox hwclock -f /dev/rtc0 && date -s " + cmd);
process.waitFor();
注意上面的“\\",和”&&“符号。
2.busybox关闭rtc也不行,但是另外一条命令却是可以的,当然了,或许你的设备和我的不一样,所以我这些都记下来了