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這類命名。
總結
以上是生活随笔為你收集整理的dreambackend.java_【AndroidTV】如何自定义屏保、更改屏保时长的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【金万维】天联高级版客户端登陆后,打开U
- 下一篇: android sina oauth2.