手机离线使用中,系统无法自动更新时间,接口也无法获取当前时间,只能APP端自己校正时间。
1、记录上一次有网的时候,平台返回的时间:
spUtil.put(SPConstant.SYSTEM_TIME, response.body().getData().getPlatformTime());//接口返回的平台时间
spUtil.put(SPConstant.DEVICE_TIME, SystemClock.elapsedRealtime());//同步时间时,本机的开机时间
2、计算出当前时间:
SPUtil spUtil = SPUtil.getInstance();
long lastDeviceTime = spUtil.getLong(SPConstant.DEVICE_TIME);
long nowDeviceTime = SystemClock.elapsedRealtime();
//1、通过两个开机时间,计算出时间间隔;
//2、通过时间间隔+上一次平台返回的时间=当前的时间
long nowTime = (nowDeviceTime - lastDeviceTime) + spUtil.getString(SPConstant.SYSTEM_TIME);;