Android从哪里获取默认时区?

时间:2014-04-08 07:46:55

标签: android timezone

Android设备从哪里获取默认时区?

示例 - 您启动了一个全新的Android设备,并且安装向导带有"日期&时间"已选择默认时区的活动(在我的情况下为http://en.wikipedia.org/wiki/Central_European_Time) - 它来自何处?

3 个答案:

答案 0 :(得分:7)

这是一个构建标志,它被刻录到ROM中(它变成了系统属性)。

这是在很多地方,所以最简单的方法是下载AOSP源代码和grep:

persist.sys.timezone

这里有更多信息:https://stackoverflow.com/search?q=persist.sys.timezone

答案 1 :(得分:0)

当您使用SIM卡开始新手机时,它会根据操作员自动设置手机中的位置。

如果它正在使用SIM数据,那么基于Telephony Manager API手机,会自动设置当前位置。

同样地,当您的设备没有任何SIM卡但是它连接到任何本地WiFi时,它会根据Wifi Manager API自动设置手机中的位置。

答案 2 :(得分:0)

关于设置时区的帖子很长。 https://blog.csdn.net/victoryckl/article/details/7969433 它是中文,请使用翻译。

这是设置语言环境和时区的要点

  

原始的android代码,系统默认语言为英文,一般需要更改为默认中文,很多修改方法:

     
      
  1. 修改PRODUCT_LOCALES字段,   首先输入您要选择的语言,例如:PRODUCT_LOCALES:= zh_CN zh_CN默认语言为英语,从build / target / product / sdk.mk复制它,然后将其粘贴到device / {hardware platform} / {product}中。在mk中,将zh_CN放在首位。或直接粘贴到build / target / product / core.mk中,所有分支都继承此设置。

  2.   
  3. 修改设备/ {硬件平台} / {product} /system.prop或default.prop并添加:

  4.   
     

[persist.sys.language]:[zh]

     

[persist.sys.country]:[CN]

     

[persist.sys.localevar]:[]

     

[persist.sys.timezone]:[亚洲/上海]

     

[ro.product.locale.language]:[zh]

     

[ro.product.locale.region]:[CN]

     
      
  1. 修改init.rc并添加:
  2.   
     

Setproppersist.sys.language zh _

     

Setproppersist.sys.country CN

     

Setproppersist.sys.localevar

     

Setproppersist.sys.timezone亚洲/上海

     

Setprop ro.product.locale.language

     

Setprop ro.product.locale.region CN

     

此方法有问题,因为它将在每次启动时执行,因此该语言是每次启动后的默认语言。

     
      
  1. 修改设备/ {硬件平台} / {产品} /device.mk并添加:   PRODUCT_PROPERTY_OVERRIDES + = \
  2.   
     

Persist.sys.language = zh \

     

Persist.sys.country = CN \

     

Persist.sys.localevar =“” \

     

Persist.sys.timezone =亚洲/上海\

     

Ro.product.locale.language = zh \

     

Ro.product.locale.region = CN

     

我正在使用第四个。请注意,上面的引号不能删除,否则这两行将在build.prop中变成一行:

     

Persist.sys.localevar = persist.sys.timezone =亚洲/上海

     

这将导致无法获取persist.sys.timezone的值,并且时区仍然不正确。

     
      
  1. 修改build / tools / buildinfo.sh:
  2.   
     

回声“ persist.sys.language = zh”

     

回显“ persist.sys.country = CN”

     

回声“ persist.sys.localevar =”

     

回声“ persist.sys.timezone = Asia / Shanghai”

     

回显“ ro.product.locale.language = zh”

     

回显“ ro.product.locale.region = CN”