一、默认关闭自动更新时区

将自动更新时区开关 def_auto_time_zone 的值设置为 false。

文件路径:platform/frameworks/base/packages/SettingsProvider/res/values/defaults.xml

二、自动更新时区打开,设置默认时区不生效问题

当你 persist.sys.timezone 配置了这个没用,那可能和设备驻留到紧急网络上,会根据网络上报的国家码进行匹配并更新时区

2.1 android10.0(Q) 解决办法

frameworks/opt/telephony/src/java/com/android/internal/telephony/NewNitzStateMachine.java

 import java.io.FileDescriptor;import java.io.PrintWriter;+//add
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
+import com.android.internal.telephony.uicc.UiccCardApplication;
+//end
+/*** {@hide}*/
@@ -394,6 +399,12 @@ public final class NewNitzStateMachine implements NitzStateMachine {if (DBG) {Rlog.d(LOG_TAG, "setAndBroadcastNetworkSetTimeZone: zoneId=" + zoneId);}
+        //add
+        UiccCardApplication uiccApp = mPhone.getUiccCardApplication();
+        if (uiccApp == null || uiccApp.getState() == AppState.APPSTATE_UNKNOWN) {+            Rlog.d(LOG_TAG, "Not to set network time zone due to sim absent");
+            return;
+        }//endmTimeServiceHelper.setDeviceTimeZone(zoneId);if (DBG) {Rlog.d(LOG_TAG,

2.2 android11.0® 解决办法

frameworks/opt/telephony/src/java/com/android/internal/telephony/nitz/TimeServiceHelperImpl.java

+import com.android.internal.telephony.GsmCdmaPhone;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
+import com.android.internal.telephony.uicc.UiccCardApplication;@@ -40,6 +43,7 @@ import java.util.Objects;public final class TimeServiceHelperImpl implements TimeServiceHelper {private final int mSlotIndex;
+    private Phone mPhone;private final TimeDetector mTimeDetector;private final TimeZoneDetector mTimeZoneDetector;@@ -56,6 +60,7 @@ public final class TimeServiceHelperImpl implements TimeServiceHelper {public TimeServiceHelperImpl(@NonNull Phone phone) {mSlotIndex = phone.getPhoneId();
+        mPhone = phone;Context context = Objects.requireNonNull(phone.getContext());mTimeDetector = Objects.requireNonNull(context.getSystemService(TimeDetector.class));mTimeZoneDetector =@@ -79,6 +84,11 @@ public final class TimeServiceHelperImpl implements TimeServiceHelper {public void maybeSuggestDeviceTimeZone(@NonNull TelephonyTimeZoneSuggestion newSuggestion) {Objects.requireNonNull(newSuggestion);
+        UiccCardApplication uiccApp = ((GsmCdmaPhone) mPhone).getUiccCardApplication();
+        if (uiccApp == null || uiccApp.getState() == AppState.APPSTATE_UNKNOWN) {+            mTimeLog.log("Not to set network time zone due to sim absent.");
+            return;
+        }TelephonyTimeZoneSuggestion oldSuggestion = mLastSuggestedTimeZone;if (shouldSendNewTimeZoneSuggestion(oldSuggestion, newSuggestion)) {mTimeZoneLog.log("Suggesting time zone update: " + newSuggestion);

android10.0(Q) android11(R) 时区相关问题相关推荐

  1. Android 8.0 开机动画,RK3326 android10.0(Q) 开机logo+开关机动画替换

    RK3326 android10.0(Q) 开机logo+开关机动画替换 2020年08月14日 | 萬仟网移动技术 | 我要评论 开机logouboot和kernel阶段的logo分别为开机显示的第 ...

  2. android10.0(Q) root QCOM-SM6125 user版本打开root权限

    推荐两个性能优化学习地址: Blog androidperformance MTK 6735/6739/6755/6763 android8.1 user版本打开root权限(adb root权限和 ...

  3. android10.0(Q) root MTK 6765 user版本打开root权限(adb root权限和 apk root权限)

    前言 everybody,好久不见,我胡汉三又回来了,android10.0 root 安排!!! 相比较 Android8.1.9.0 而言,Q 版本 的 root变得相当麻烦,10.0 中引入了动 ...

  4. android10.0(Q) AOSP 增加应用锁功能

    前言 应用锁的功能可以说是很普遍了,大致就是在 startActivity 对应代码处进行拦截就行. 最开始在网上找了点资料,没有能合适直接用的,就自己搞了下,这里简单做个笔记. Android应用锁 ...

  5. android10.0(Q) Settings 添加设置项——动态方式

    为什么要这样做? 上一篇通过静态方式添加配置项,应用场景太局限. 所以继续研究加载原理,终于发现了动态加载的奥秘. 效果图 文件清单 frameworks\base\packages\Settings ...

  6. Android10.0(Q) 实现通话中播放音乐/通话背景音(答录机/魔音功能)

    前言 这个功能大体意思类似机器人交互的效果,一般多应用到客服接听场景中,电话接通自动播放一段录音给 对方听,根据选项操作录音解析等完成一整个流程.这里面电话接通播放声音给对方听普通应用是做不到的, 因 ...

  7. RK3326 android10.0(Q) 系统精简瘦身

    删除无用APk 系统备份.cts测试相关.系统壁纸备份 build/make/target/product/base_system.mk @@ -41,7 +41,6 @@ PRODUCT_PACKA ...

  8. android10.0(Q) Launcher3 去掉抽屉

    效果图 修改思路 1.增加变量 launcher3.is_full_app,用来动态切换 2.增加两套布局,对应有抽屉和无抽屉 3.去除 allAppsButton 4.将 AllAppsContai ...

  9. Android10.0(Q) 默认应用设置(电话、短信、浏览器、主屏幕应用)

    有些时候系统里预装了两个电话.桌面这样的应用,开机启动后系统会弹框让你选择使用那一个. 在系统设置中应用和通知里发现有默认应用选项,点进去发现是在 PermissionController 中 默认列 ...

最新文章

  1. ScrollView 内嵌 ListView 只能看到第一个Item
  2. Android空间WebView和ViedeoView的使用
  3. springcloud 中的zuul整合Elasticsearch报错availableProcessors is already set to [4], rejecting [4]...
  4. windows 环境下Eclipse开发MapReduce环境设置
  5. 将英文的week 转换为中文的 简单的方法
  6. scipy.sparse、pandas.sparse、sklearn稀疏矩阵的使用
  7. python周末_python周末作业—刘宏升
  8. 面试之函数节流和函数防抖
  9. C语言中static的使用
  10. html的个人简历边框,怎样制作简历模板边框
  11. ios 渐变透明背景_PPT背景常见的6种设计方法
  12. HarryPotter第一部—Aragog-1.0.2
  13. 假期培训日记(数论)
  14. 人人旗下风车网产品经理的创业失败教训总结
  15. 亚洲众包网站悄然崛起:中国成最大“雇主”
  16. mysql的repeat语句_mysql实例 repeat语句的用法
  17. 拍掉灰尘,老想法比新想法更管用
  18. 湮没在赞誉之中,科学史上鲜为人知的五大“败笔”
  19. dnf十字斩改暴风教程_十字改秒杀所有代码
  20. NodeJS的模块机制

热门文章

  1. 铨顺宏RFID:物联网对普通人有什么影响,RFID发挥了什么作用
  2. vulnhub之vegeta
  3. 创新链接未来,安全赋能发展——区块链技术网络安全应用创新大赛即将召开
  4. 在VS2019中新建DX12工程
  5. 区块链劲旅Waves——Waves Enterprise知识百科之系列一
  6. java怎么表示换行_word换行符在java中怎么表示
  7. python lxml安装失败,Python pip安装lxml出错的问题解决办法
  8. 牛客网《直通BAT面试算法精讲课》优惠码
  9. matlab的协方差计算函数cov
  10. S120怎么样实现本地远程控制切换?