dreambackend.java_【AndroidTV】如何自定义屏保、更改屏保时长

目录

目录

系统屏保源码有哪些

在设置中显示的屏保选项有哪些

屏保选项是如何获得的

多久出现屏保

修改方法

我的应用

项目需求

处理方式

遇到一个诡异的问题

系统屏保源码有哪些

如果要自定义屏保可以参考这里的源码,清晰易懂,比网上教程好

屏保

源码位置

BasicDream

packages\screensavers下

PhotoTable

packages\screensavers下

WebView

package\screensavers下

SystemUI

frameworks\base\packages下

在设置中显示的屏保选项有哪些

自带的屏保选项

TurnOff

Colors

BackDrop

其中BackDrop没有源码,是google现成的apk。

SystemUI的是DessertCase。没有显示出来,是因为在SystemUI的AndroidManifest.xml中,定义这个enable为false。

android:exported="true"

android:label="@string/dessert_case"

android:permission="android.permission.BIND_DREAM_SERVICE"

android:enabled="false"

android:process=":sweetsweetdesserts"

>

intent-filter>

service>

屏保选项是如何获得的

学习这个2个类:

1.com.android.settingslib.dream.DreamBackend.java

2.com.android.tv.settings.device.display.daydream.DaydreamFragment.java。

多久出现屏保

系统可设定的最短时长是5分钟。

要更改时长,可以改Settings的源码(在packages\apps\)下。

详细看

com.android.tv.settings.device.display.daydream.DaydreamFragment.java。

修改方法

Settings源码

res\values\arrays.xml中修改sleep_timeout_values数组即可

300000item>

900000item>

1800000item>

3600000item>

7200000item>

-1item>

string-array>

现在系统原生是这样的,改成满足你需求的即可。

我的应用

项目需求

更改屏保图片,用于参展

处理方式

在SystemUI中新增自己的屏保文件、修改AndroidManifest.xml,替换机顶盒中的应用后,选中我们自己的屏保,OK。

遇到一个诡异的问题

我把新的屏保图片放进res\drawable-nodpi时,在java文件中引用,编译总是说无法识别这个文件,后来只能把新文件命名为和原来已经存在的文件一致,比如dessert_android这类命名。

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

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

相关文章

模块初识

1.模块 模块的定义与分类 一个模块就是一个py文件.这个魔铠存储很多相似的功能,相似的函数集合体分类 内置模块,标准库,Python自带的,times,os,sys,等等200多种第三方库(模块),各种大神写的一些模块,通过pip install....安装,有6000多种自己写的模块,自定义模块2.import # impo…

算法:把数组排成最小的数

* Description 把数组排成最小的数* 问题:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。* 例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为…

牛客网在线编程java_NowCoder

com.adamjwh.pratice.offer.FindInArrays二维数组中的查找com.adamjwh.pratice.offer.ReplaceSpace替换空格com.adamjwh.pratice.offer.PrintList从头到尾打印链表com.adamjwh.pratice.offer.ReConstructTree重建二叉树com.adamjwh.pratice.offer.MakeQueueWithStack用两个栈实…

质量大国-学习概要

问题场景:英国 不断重新定义度量一码历史故事:冷兵器 206年 长平之战 度量衡商鞅统一度量衡 秦国 质量 0.83毫米的箭头 秦国的统一度量衡带来的巨大收益。 1,1791 巴黎 法国科学院 科学革命要为完美的社会提供基点 创建计量体系 孔多塞 重新定…

join的简单总结

BAT面试题:现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行? 这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,…

python numpy矩阵索引_python – Numpy中的矩阵索引

索引后查看形状:In [295]: Anp.matrix([1,2,3])In [296]: A.shapeOut[296]: (1, 3)In [297]: A[0]Out[297]: matrix([[1, 2, 3]])In [298]: A[0].shapeOut[298]: (1, 3)这种行为的关键是np.matrix总是2d.所以即使你选择一行(A [0,:]),结果仍然是2d,形状(…

Activity的呼叫转移*(3个Activity之间的跳转)

Redirection的意思就是“呼叫转移,重寄”的意思 我们也许会再程序开发中遇到这种情况,需要从一个Activity(A)跳转到另一个Activity(B),当在这个Activity(B)中处理完一些操…

深度解析数据分析、大数据工程师和数据科学家的区别

数据越来越多的影响并塑造着那些我们每天都要交互的系统。不管是你使用Siri,google搜索,还是浏览facebook的好友动态,你都在消费者数据分析的结果。我们赋予了数据如此大的转变的能力,也难怪近几年越来越多的数据相关的角色被创造…

python webservice接口测试传参数_Python3 webservice接口测试方法是什么

Python3 webservice接口测试方法是什么发布时间:2020-06-23 14:07:46来源:亿速云阅读:92作者:清晨不懂Python3 webservice接口测试方法是什么?其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解…

zabbix4.2 系列(二):agent配置

zabbix-agent: 分为主动模式和被动模式,均在配置文件实现(主动模式和被动模式可同时设置): vim /etc/zabbix/zabbix_agentd.conf Server192.168.18.154 (用于被动模式,允许哪台服务器可以…

java form 对象 一对一_java-双向一对一地“对象引用了一个未保存...

我有一个简单的一对一关系:>为每个实体单独的DAO.>事务由Spring管理.PersonDao personDao ctx.getBean(PersonDao.class, "personDaoImpl");VehicleDao vehicleDao ctx.getBean(VehicleDao.class, "vehicleDaoImpl");Vehicle vehicle …

RabbitMQ 入门教程(PHP版) 第三部分:发布/订阅(Publish/Subscribe)

发布/订阅 在上篇第二部分教程中,我们搭建了一个工作队列。每个任务之分发给一个工作者(worker)。在本篇教程中,我们要做的之前完全不一样——分发一个消息给多个消费者(consumers)。这种模式被…

Proxmox VE 安装、配置、使用之第二章 Proxmox VE 的安全性

第一章 Proxmox VE 的安全性一、 角色及权限图2-1-1二、 Root 的密码安全性把 Root 的实际密码给出去, 在任何系统都是不符合安全规范的!所以在 Linux 里面, 最好把有需要 root 权限的使用者 放到 sudoers 的群组.# sudo usermod -a -G sudo testuserPVE 的权限设定方式 是由 u…

java allocate_Java中volatile关键字的最全总结

一、简介volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调…

缩放手势 ScaleGestureDetector 源码解析,这一篇就够了

其实在我们日常的编程中,对于缩放手势的使用并不是很经常,这一手势主要是用在图片浏览方面,比如下方例子。但是(敲重点),作为 Android 入门的基础来说,学习 ScaleGestureDetector 的使用&#x…

postgres的数据库备份和恢复

备份和恢复 一条命令就可以解决很简单: 这是备份的命令: pg_dump -h 127/0.0.1 -U postgres databasename > databasename.bak 指令解释: pg_dump 是备份数据库指令,164.82.233.54是数据库的ip地址(必须保证数据库允许外部访…

java 类的执行顺序_Java中类的执行顺序

讲解在代码中:package 类执行顺序;/*** java类执行顺序** 1、如果父类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块* 2、如果类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块* 3、将类的成员赋予初值(原…

ZooKeeper相关资料集锦

1、ZooKeeper相关概念总结 https://github.com/Snailclimb/JavaGuide/blob/master/docs/system-design/framework/ZooKeeper.md 2、ZooKeeper在Windows下的安装和配置 https://blog.csdn.net/morning99/article/details/40426133 3、Curator框架应用 http://ifeve.com/zookeepe…

JQuery.Ajax()的data参数传递方式

最近,新学c# mvc,通过ajax post方式传递数据到controller。刚开始传递参数,controller中总是为null。现记录一下,可能不全,纯粹记个学习日记。 重点在于参数的方式,代码为例子 1、这里 dataType: "js…

java如何实现封装_java如何实现封装

Java中类的封装是如何实现的封装是将对象的信息隐藏在对象内部,禁止外部程序直接访问对象内部的属性和方法。 java封装类通过三个步骤实现: (1)修改属性的可见性,限制访问。 (2)设置属性的读取方法。 (3)在读取属性的方法中,添加对…