Time time = new Time();
time.set(System.currentTimeMillis());
long timeInMillis = time.toMillis(false);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
SystemClock.setCurrentTimeMillis(timeInMillis);
} else {
Settings.System.putLong(getContentResolver(), Settings.System.TIME_UTC, timeInMillis);
}
需要注意的是,这种方法需要在 Android 6.0(API level 23)及以上版本上才能正常工作。在 Android 6.0 以下版本上,需要使用反射来修改系统时间。