首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开箱后Android手机第一次开机的时间?

开箱后Android手机第一次开机的时间?
EN

Stack Overflow用户
提问于 2021-10-05 13:25:22
回答 1查看 87关注 0票数 1

如果android设备没有连接到互联网或没有sim,第一次开机时显示的时间和日期是什么?默认设置时间和日期的依据是什么?

EN

回答 1

Stack Overflow用户

发布于 2021-10-08 04:00:27

在第一次启动时,android会使用Build.TIME设置系统时间,而Build.TIME是从系统属性ro.build.data.rtc中获取的,也就是构建镜像的时间。一些工厂测试将在工厂中执行,因此它可能已经启动了一段时间。这可能不是第一次开机,当用户打开手机的盒子,并启动它。

这是由AlarmManagerService.java#onStart完成的。

代码语言:javascript
复制
    @Override
    public void onStart() {
        mInjector.init();
        ...

        synchronized (mLock) {
            mHandler = new AlarmHandler();
            mConstants = new Constants();
            ...

            // We have to set current TimeZone info to kernel
            // because kernel doesn't keep this after reboot
            setTimeZoneImpl(SystemProperties.get(TIMEZONE_PROPERTY));

            // Ensure that we're booting with a halfway sensible current time.  Use the
            // most recent of Build.TIME, the root file system's timestamp, and the
            // value of the ro.build.date.utc system property (which is in seconds).
            final long systemBuildTime = Long.max(
                    1000L * SystemProperties.getLong("ro.build.date.utc", -1L),
                    Long.max(Environment.getRootDirectory().lastModified(), Build.TIME));
            if (mInjector.getCurrentTimeMillis() < systemBuildTime) {
                Slog.i(TAG, "Current time only " + mInjector.getCurrentTimeMillis()
                        + ", advancing to build time " + systemBuildTime);
                mInjector.setKernelTime(systemBuildTime);
            }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69451340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档