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

简介: android10.0(Q) android11(R) 时区相关问题

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


将自动更新时区开关 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;
+        }//end
         mTimeServiceHelper.setDeviceTimeZone(zoneId);
         if (DBG) {
             Rlog.d(LOG_TAG,



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);


目录
相关文章
|
Java Android开发
Android 设置系统时区的源码追踪
Android 设置系统时区的源码追踪
244 1
|
Android开发
Android 修改系统时区导致SimpleDateFormat无法输出正确时间
Android 修改系统时区导致SimpleDateFormat无法输出正确时间
357 0
|
Android开发
Android系统移植与调试之------->如何修改Android的默认语言、默认时区
修改device/other/TBDG1073/ system.prop文件  1、设置默认语言 找到device/other/TBDG1073/ system.
1465 0
|
Android开发 Linux
android默认系统日期、时间、时区更改
 android默认系统日期、时间、时区更改       做android平台,经常会遇到产品需要更改系统默认时区日期时间的问题。android更改时区相对比较容易实现,网上也有很多资料,直接设置一个属性即可,例如设置上海东八区,persist.sys.timezone=Asia/Shanghai。
2067 0
|
6天前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
76 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
13天前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
182 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
14天前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
245 3
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
1月前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
339 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
12天前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
55 0
|
1月前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
138 6

热门文章

最新文章