答 Android 系统默认时区为GMT + 00:00,在设置中的“日期和时间”中可以看到,下面是修改默认时区的方法。
介绍应用程序修改 :
AlarmManager mAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
mAlarmManager.setTimeZone("America/Santiago");// Asia/Taipei//GMT+08:00
// mAlarmManager.setTimeZone("Asia/Taipei");
TimeZone tz = TimeZone.getDefault();
// tz.setID("GMT+08:00");//
Toast.makeText(
this,
"zone : " + tz.getID() + " itz : "
+ tz.getTimeZone("GMT+08:00"), Toast.LENGTH_SHORT)
.show();
?
注意下面的一句 :
mAlarmManager.setTimeZone("America/Santiago");
"America/Santiago" 是XML一个ID值,这个ID值来自 : 下面xml中id后面的赋值
<timezone id="Pacific/Majuro">马朱罗</timezone>
<timezone id="Pacific/Midway">中途岛</timezone>
<timezone id="Pacific/Honolulu">檀香山</timezone>
<timezone id="America/Anchorage">安克雷奇</timezone>
上面只列出部分项.
修改后,进入Setting->Date & Time->Select time zone项,既可以看到结果.
其次可以通过系统修改,通过系统修改是修改系统默认值:
Android 系统默认时区为GMT + 00:00,在设置中的“日期和时间”中可以看到,下面是修改默认时区的方法。
在Android源码中找到Device/(设备或平台名称)/(这里可能还有一层是编译的代号之类的吧)/system.prop
在其中添加,若已存在则修改为 persist.sys.timezone=Asia/Shanghai
persist.sys.timezone属性的对应值在如下文件中,frameworksbasecoreresresxmltime_zones_by_country.xml
这个xml文件中可以找到中国所在的 GMT + 8:00时区的对应值
?
?
<!-- CHINA, 8:00 -->
<timezone code="cn">Asia/Shanghai</timezone>
<timezone code="cn">Asia/Harbin</timezone>
<timezone code="cn">Asia/Chongqing</timezone>
<timezone code="cn">Asia/Urumqi</timezone>
<timezone code="cn">Asia/Kashgar</timezone>
?
?
修改完之后需要重新编译整个系统,编译后的结果在/out/target/product/(以设备平台名称编译版本命名的文件夹)/system/build.prop中可以看到。
Android系统默认时区在美国,默认语言为英文。
安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。