Android 屏保开关

news2025/1/15 20:09:06

设置-显示-屏保,
在这里插入图片描述

在这里插入图片描述

打开关闭

设置代码在 ./packages/apps/Settings/src/com/android/settings/dream/DreamMainSwitchPreferenceController.java

    @Override
    public boolean isChecked() {
        return mBackend.isEnabled();
    }

    @Override
    public boolean setChecked(boolean isChecked) {
        mBackend.setEnabled(isChecked);
        return true;
    }

追溯到 ./frameworks/base/packages/SettingsLib/src/com/android/settingslib/dream/DreamBackend.java

    public boolean isEnabled() {
        return getBoolean(Settings.Secure.SCREENSAVER_ENABLED, mDreamsEnabledByDefault);
    }

    public void setEnabled(boolean value) {
        logd("setEnabled(%s)", value);
        setBoolean(Settings.Secure.SCREENSAVER_ENABLED, value);
    }

启用时机

可选 充电时、插入基座充电时,

设置代码在 ./packages/apps/Settings/src/com/android/settings/dream/WhenToDreamPicker.java

    @Override
    protected String getDefaultKey() {
        return DreamSettings.getKeyFromSetting(mBackend.getWhenToDreamSetting());
    }

    @Override
    protected boolean setDefaultKey(String key) {
        mBackend.setWhenToDream(DreamSettings.getSettingFromPrefKey(key));
        return true;
    }

追溯到 ./frameworks/base/packages/SettingsLib/src/com/android/settingslib/dream/DreamBackend.java

    @WhenToDream
    public int getWhenToDreamSetting() {
        return isActivatedOnDock() && isActivatedOnSleep() ? EITHER
                : isActivatedOnDock() ? WHILE_DOCKED
                        : isActivatedOnSleep() ? WHILE_CHARGING
                                : NEVER;
    }
    
    public void setWhenToDream(@WhenToDream int whenToDream) {
        setEnabled(whenToDream != NEVER);

        switch (whenToDream) {
            case WHILE_CHARGING:
                setActivatedOnDock(false);
                setActivatedOnSleep(true);
                break;

            case WHILE_DOCKED:
                setActivatedOnDock(true);
                setActivatedOnSleep(false);
                break;

            case EITHER:
                setActivatedOnDock(true);
                setActivatedOnSleep(true);
                break;

            case NEVER:
            default:
                break;
        }
    }

充电时

    public boolean isActivatedOnSleep() {
        return getBoolean(Settings.Secure.SCREENSAVER_ACTIVATE_ON_SLEEP,
                mDreamsActivatedOnSleepByDefault);
    }

    public void setActivatedOnSleep(boolean value) {
        logd("setActivatedOnSleep(%s)", value);
        setBoolean(Settings.Secure.SCREENSAVER_ACTIVATE_ON_SLEEP, value);
    }

插入基座充电时

    public boolean isActivatedOnDock() {
        return getBoolean(Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK,
                mDreamsActivatedOnDockByDefault);
    }

    public void setActivatedOnDock(boolean value) {
        logd("setActivatedOnDock(%s)", value);
    }  

默认选项

默认值配置在 frameworks/base/core/res/res/values/config.xml

    <!-- Specifies whether the dreams feature should be supported.
         When true, the system will allow the user to configure dreams (screensavers)
         to launch when a user activity timeout occurs or the system is told to nap.
         When false, the dreams feature will be disabled (this does not affect dozing).

         Consider setting this resource to false or disabling dreams by default when a
         doze component is specified below since dreaming will supercede dozing and
         will prevent the system from entering a low power state until the dream ends. -->
    <bool name="config_dreamsSupported">true</bool>

    <!-- If supported, are dreams enabled? (by default) -->
    <bool name="config_dreamsEnabledByDefault">true</bool>
    <!-- If supported and enabled, are dreams activated when docked? (by default) -->
    <bool name="config_dreamsActivatedOnDockByDefault">true</bool>
    <!-- If supported and enabled, are dreams activated when asleep and charging? (by default) -->
    <bool name="config_dreamsActivatedOnSleepByDefault">false</bool>
    <!-- ComponentName of the default dream (Settings.Secure.DEFAULT_SCREENSAVER_COMPONENT) -->
    <string name="config_dreamsDefaultComponent" translatable="false">com.android.deskclock/com.android.deskclock.Screensaver</string>
keyvalue
config_dreamsSupported是否支持屏保
config_dreamsEnabledByDefault屏保是否默认打开
config_dreamsActivatedOnDockByDefault屏保默认选择 插入基座充电时
config_dreamsActivatedOnSleepByDefault屏保默认选择 充电时
config_dreamsDefaultComponent默认屏保组件

adb调试

查找屏保 screensaver 相关属性 ,

console:/ # settings list secure | grep screensaver
screensaver_activate_on_dock=0
screensaver_activate_on_sleep=1
screensaver_default_component=com.android.deskclock/com.android.deskclock.Screensaver
screensaver_enabled=1

打开/关闭 屏保

settings put secure screensaver_enabled 1/0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1691160.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【云原生】Kubernetes----POD基本管理

目录 引言 一、Pod基础概念 &#xff08;一&#xff09;Pod简介 &#xff08;二&#xff09;Pod的分类 1.自主式Pod 2.控制器管理的Pod &#xff08;三&#xff09;Pod使用方式 1.单容器pod 2.多容器Pod 3. 注意事项 二、Pod容器的分类 &#xff08;一&#xff09;…

FL Studio2025新功能大揭秘,你准备好了吗?

FL Studio&#xff0c;常被音乐制作者亲切地称为“水果”编曲软件&#xff0c;是比利时的Image-Line公司研发的一款完整的软件音乐生产环境或数字音频工作站&#xff08;DAW&#xff09;。自从1997年推出以来&#xff0c;它已经成为全世界众多电子音乐制作者和DJ的首选工具&…

【中霖教育口碑】什么情况下不允许参加注册会计师考试?

对于某些特殊情况&#xff0c;存在明确的禁止性规定&#xff0c;是不能参加注册会计师考试的&#xff0c;中霖为大家分享一下!关于注册会计师全国统一考试的资格条件&#xff0c;需明确以下要点&#xff1a; 1. 针对在前期注册会计师统一考试中因违反规定而受到禁止参加考试的…

抽象工厂模式(AbstractFactoryPattern)

文章目录 1.抽象工厂模式定义2.UML类图3.抽象工厂模式具体实现工厂模式实现单一产品族抽象工厂实现多产品族产品类工厂类使用 4.抽象工厂模式优缺点 1.抽象工厂模式定义 提供一个创建一系列相关或相互依赖对象的接口&#xff0c;而无需指定它们具体的类。 工厂方法模式是单一产…

1、Docker之技术架构演进之路

1、Docker之技术架构演进之路 概述常见概念基本概念应用&#xff08;Application&#xff09;/ 系统&#xff08;System&#xff09;模块&#xff08;Module&#xff09;/ 组件&#xff08;Component&#xff09;分布式&#xff08;Distributed&#xff09;集群&#xff08;Clu…

OpenStack配置 之 不同cpu迁移虚拟机

介绍 OpenStack是一个开源的云计算管理平台项目&#xff0c;是一系列软件开源项目的组合。 OpenStack由NASA&#xff08;美国国家航空航天局&#xff09;和Rackspace合作研发并发起&#xff0c;以Apache许可证&#xff08;Apache软件基金会发布的一个自由软件许可证&#xff…

基于antd的DatePicker 组件封装业务组件

先看一下我写的目录结构: 依次来看业务代码; (1)RangeTime.tsx import {useState,uesCallback} from react; import {DatePicker} from antd; import {RangePickerProps as AntdRangePickerProps} from antd/es/date-picker; import {Moment} from moment; import type {Ran…

【Spring Security系列】权限之旅:SpringSecurity小程序登录深度探索

作者&#xff1a;后端小肥肠 创作不易&#xff0c;未经允许严禁转载。 姊妹篇&#xff1a; 【Spring Security系列】Spring SecurityJWTRedis实现用户认证登录及登出_spring security jwt 退出登录-CSDN博客 1. 前言 欢迎来到【Spring Security系列】&#xff01;在当今数字化…

【Java】/*类和对象(下)*/

目录 一、封装 1.1 初识封装 1.2 如何封装成员变量 1.3 如何使用封装后的成员变量 二、访问限定符 三、包 3.1 包的概念 3.2 如何自定义包 3.3 导入包中的类 3.4 包的访问权限控制举例 示例一&#xff1a;private修饰成员变量 示例二&#xff1a; 不去修饰成员变…

网络拓扑—DNS服务搭建

文章目录 DNS服务搭建网络拓扑配置网络DNSPC 安装DNS服务配置DNS服务创建正向查找区域创建反向查找区域创建子域名 PC机DNS域名解析 DNS服务搭建 网络拓扑 为了节省我的U盘空间&#xff0c;没有用路由器&#xff0c;所以搭建的环境只要在同网段即可。 //交换机不用考虑 DNS&a…

hugging face笔记:PEFT

1 介绍 PEFT (Parameter-Efficient Fine Tuning) 方法在微调时冻结预训练模型参数&#xff0c;并在其上添加少量可训练的参数&#xff08;称为适配器&#xff09;这些适配器被训练用来学习特定任务的信息。这种方法已被证明在内存效率和计算使用上非常高效&#xff0c;同时能产…

靠着单干实现财富自由,可太爽了

这里所说的“单干”&#xff0c;并不是单打独斗的意思&#xff0c;而是一种商业认知&#xff0c;以及由这种认知衍生出来的商业模式、商业方法和商业实践。 之前提到单干&#xff0c;会本能地以为它是指脱离公司等组织形式&#xff0c;自己一个人做生意。现在单干有了更丰富的…

第十二章 网络编程

第十二章 网络编程 网络协议概述 通信协议&#xff1a; 协议即规则&#xff0c;就好比汽车上路要遵守交通规则一样&#xff0c;为了使全世界不同类型的计算机都可以连接起来&#xff0c;所以制定了一套全球通用的通信协议——Internet协议。有了Internet协议&#xff0c;任何…

【网络技术】【Kali Linux】Wireshark嗅探(十二)NBNS协议报文捕获及分析

往期 Kali Linux 上的 Wireshark 嗅探实验见博客&#xff1a; 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;一&#xff09;ping 和 ICMP 【网络技术】【Kali Linux】Wireshark嗅探&#xff08;二&#xff09;TCP 协议 【网络技术】【Kali Linux】Wireshark嗅探&…

Swift 类和结构体

类和结构体 一、结构体和类对比1、类型定义的语法2、结构体和类的实例3、属性访问4、结构体类型的成员逐一构造器 二、结构体和枚举是值类型三、类是引用类型1、恒等运算符2、指针 结构体和类作为一种通用而又灵活的结构&#xff0c;成为了人们构建代码的基础。你可以使用定义常…

汇舟问卷:海外问卷调查如何闭坑?

大家好&#xff0c;我是汇舟问卷。有很多人问我这行有什么骗局吗&#xff1f;怎么说呢&#xff1f;其实每个行业都是真实存在的&#xff0c;也都有赚到钱的和赚不到钱的&#xff0c;那区别在哪里呢&#xff1f; 在你的源头&#xff0c;也就是教你或者说是代理加盟的上家&#…

LabVIEW舱段测控系统开发

LabVIEW舱段测控系统开发 在航空技术飞速发展的当下&#xff0c;对于航空器的测控系统的需求日益增加&#xff0c;特别是对舱段测控系统的设计与实现。开发了一款基于LabVIEW开发的舱段测控系统&#xff0c;包括系统设计需求、系统组成、工作原理以及系统实现等方面。 开发了…

电赛经验分享——赛前准备

⏩ 大家好哇&#xff01;我是小光&#xff0c;想要成为系统架构师的嵌入式爱好者。 ⏩在之前的电赛中取得了省一的成绩&#xff0c;本文对电赛比赛前需要准备什么做一个经验分享。 ⏩感谢你的阅读&#xff0c;不对的地方欢迎指正。 加入小光嵌入式交流群&#xff08;qq群号&…

【问题解决】Android Studio Jellyfish新建Kotlin项目后Gradle Sync及Maven下载很慢

创建新项目之后&#xff0c;Gradle Sync和Build都很慢&#xff0c;因为下载Gradle和Maven等工具。 代码默认配置 settings.gradle.kts pluginManagement {repositories {google {content {includeGroupByRegex("com\\.android.*")includeGroupByRegex("com\\.g…

框架学习之SpringMVC学习笔记(一)

一、SpringMVC简介 1-介绍 Spring Web MVC是基于Servlet API构建的原始Web框架&#xff0c;从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称&#xff08; spring-webmvc &#xff09;&#xff0c;但它通常被称为“Spring MVC”。 在控制层…