大家好,欢迎来到IT知识分享网。
一、NTP和NITZ简介
NewNetworkTimeUpdateService.systemRunning()方法, NetworkTimeUpdateService networkTimeUpdater = null; if (useNewTimeServices) { networkTimeUpdater = new NewNetworkTimeUpdateService(context); } else { networkTimeUpdater = new OldNetworkTimeUpdateService(context); } if (networkTimeUpdaterF != null) { networkTimeUpdaterF.systemRunning(); }
在初始化NewNetworkTimeUpdateService时,会调用NtpTrustedTime.getInstance(context)指定我们使用的NTP服务器和相应超时时间,并且实例化AlarmManager和ConnectivityManager;在调用systemRunning()方法时,注册监听NITZ、Alarm、网络状态变化以及设置中自动更新时间开关的变化;
public NewNetworkTimeUpdateService(Context context) { mContext = context; mTime = NtpTrustedTime.getInstance(context); mAlarmManager = mContext.getSystemService(AlarmManager.class); mCM = mContext.getSystemService(ConnectivityManager.class); Intent pollIntent = new Intent(ACTION_POLL, null); mPendingPollIntent = PendingIntent.getBroadcast(mContext, POLL_REQUEST, pollIntent, 0);
mTimeErrorThresholdMs = mContext.getResources().getInteger( com.android.internal.R.integer.config_ntpThreshold); mWakeLock = context.getSystemService(PowerManager.
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/128897.html