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这类命名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值