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.pswp.cn/news/277462.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277462.shtml
英文地址,請注明出處:http://en.pswp.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)在讀取屬性的方法中,添加對…