Android13默认时区问题
最近改默认时区,用以前方法竟然没有生效…研究良久,终于可以了
--- /dev/null
+++ b/device/sprd/sharkl3/项目/module/settings/md.mk
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.sys.timezone=America/Los_Angeles
+PRODUCT_REVISION:=oversea multi-lang
+ import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
+ import com.android.internal.telephony.uicc.UiccCardApplication;
private void setAndBroadcastNetworkSetTimeZone(String zoneId) {
+ UiccCardApplication uiccApp = mPhone.getUiccCardApplication();
+ if (uiccApp == null || uiccApp.getState() == AppState.APPSTATE_UNKNOWN) {
以上java文件代码适用于Android9.0以上。
时区失效的原因可能有很多,如果还是不行可以参考以下平台总结:
原因 1:自动更新时区默认开启,插卡开机,有网络连接,开机后自动更新了时区,导致默认时区不生效。
解决方法:自动更新时区开关默认关闭,即将自动更新时区开关
def_auto_time_zone 的值设置为false。文件路径:platform/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
原因 2:自动更新时区默认开启,不插卡开机,不连接网络,开机后自动更新了时区,导致默认时区不生效。
解决方法:将自动更新时区开关 def_auto_time_zone 的值设置为 false。