Android2.3中,网络时间更新是通过GSM和CDMA的电信移动网络来实现的,但是现在很多MID都没有GSM和CDMA,所以,没有实现网络更新。
在 “设置” ——> “日期和时间” ——> “自动” 选项实习网络时间更新
由于项目需要,我用了点时间去实现了通过wifi实习网络时间更新,如下
直接修改android源码中的Settings源码
1、附件中SNTP.java文件是一个wifi时间更新Service ,该Service如果没有成功获取网络时间则会每隔一段时间去程序获取网络时间,直到成功获取网络时间为止。

2、修改Settings\src\com\android\settings\DeviceInfoSettings.java,在onSharedPreferenceChanged函数中
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
if (key.equals(KEY_DATE_FORMAT)) {
String format = preferences.getString(key,
getResources().getString(R.string.default_date_format));
Settings.System.putString(getContentResolver(),
Settings.System.DATE_FORMAT, format);
updateTimeAndDateDisplay();
} else if (key.equals(KEY_AUTO_TIME)) {
boolean autoEnabled = preferences.getBoolean(key, true);

/* add at 2011.6.21 */
if( autoEnabled ){

Log.d("---------->"," startService !! " );


Intent intent = new Intent(DateTimeSettings.this,SNTP.class);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startService(intent);

}else{

Log.d("---------->"," endService !! " );

Intent intent = new Intent(DateTimeSettings.this,SNTP.class);



stopService(intent) ;

}

Settings.System.putInt(getContentResolver(),
Settings.System.AUTO_TIME,
autoEnabled ? 1 : 0);
mTimePref.setEnabled(!autoEnabled);
mDatePref.setEnabled(!autoEnabled);
mTimeZone.setEnabled(!autoEnabled);
}
}

3、在packages\apps\Settings\AndroidManifest.xml中注册service
<service android:name=".sntp.SNTP"

android:exported="true"

android:process=":remote">
</service>


中国大概能用的NTP服务器地址 133.100.11.8 prefer
210.72.145.44
203.117.180.36
131.107.1.10
time.asia.apple.com
64.236.96.53
130.149.17.21
66.92.68.246
www.freebsd.org
18.145.0.30
clock.via.net
137.92.140.80
133.100.9.2
128.118.46.3
ntp.nasa.gov
129.7.1.66ntp-sop.inria.frserver 210.72.145.44(中国国家授时中心服务器IP地址)

文章出自:http://blog.csdn.net/lhf_tiger/article/details/6939847

更多相关文章

  1. 在新建android工程的时候出现This template depends on the Andr
  2. 一篇文章搞懂Handler发消息时,Handler,MessageQueue,Looper都做了些
  3. Android(安卓)CPU监控想法,思路,核心技术和代码
  4. Android(安卓)2.0新增类ExifInterface使用
  5. Android待机状态更新
  6. android获取网络图片的用法
  7. android抓取网络通讯包
  8. Android(安卓)MTK去除移动网络
  9. blockCanary原理

随机推荐

  1. 详解 转发 https://www.cnblogs.com/figh
  2. 如何使用“left:100%”CSS规则保留DIV宽度
  3. 嵌入的图像在签名中不显示。
  4. 急!!!在eclipse中,如何对某个html不做验证
  5. 百度一下就知道
  6. 关于使用js/jquery监听input框输入的银行
  7. 移动模拟器是否有效?Css Jquery在iPad上
  8. 如果没有内容,隐藏边框
  9. js除了可以访问当前html文档,可不可以访问
  10. QQ、MSN、淘包旺旺、Skype常设对话的html