Android 设置系统时间

使用 ADB 命令 date 设置时间

Android 6.0 提供了新的date命令格式

Default SET format is "MMDDhhmm[[CC]YY][.ss]", that's (2 digits each)
month, day, hour (0-23), and minute. Optionally century, year, and second.

因此使用adb中的date命令不能像以前一样使用-s了

新的命令格式如下:

adb shell date 101716502019.00

10对应的是月(MM),17对应的是日(DD),16对应的是时(hh),50对应的是分(mm),2019对应的是年(YY),.00对应的是秒(.ss)

如果硬件有RTC的话还需要执行下面一步

adb shell hwclock -uw

看一下两个参数:

-u      Hardware clock uses UTC (--utc)
-w      Set hardware clock from system time (--systohc)

-w 是同步时间的参数,-u 是兼容时区的参数

如果不添加-u参数而仅使用hwclock -w命令,重启系统后如果时区使用的是中国时区,时间会往后推8个小时(取决于设置的时区)

最后:date命令只有root用户才能用于设置时间,普通用户只能使用date命令显示时间

使用 SystemClock 设置时间

private fun setSystemTime(year: String, month: String, day: String, hour: String, minute: String) {
	valc =Calendar.getInstance()
	c[Calendar.YEAR] = year.toInt()
	c[Calendar.MONTH] = month.toInt() - 1
	c[Calendar.DAY_OF_MONTH] = day.toInt()
	c[Calendar.HOUR] = hour.toInt()
	c[Calendar.MINUTE] = minute.toInt()
	val value = c.timeInMillis
	if (value / 1000 < Int.MAX_VALUE) {
	    SystemClock.setCurrentTimeMillis(value)
	}
}
发布了174 篇原创文章 · 获赞 119 · 访问量 55万+

猜你喜欢

转载自blog.csdn.net/lj402159806/article/details/102611049
今日推荐