天天看點

《精通Android 5 多媒體開發》——第22章,第22.2節開發屏保程式的原理

本節書摘來自異步社群《精通android 5 多媒體開發》一書中的第22章,第22.2節開發屏保程式的原理,作者 王石磊,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

22.2 開發屏保程式的原理

精通android 5 多媒體開發

在android系統中開發一個屏保程式,其開發原理比較簡單,具體說明如下所示。

(1)首先準備一個service,當然這個service在主activity中啟動;然後在service中注冊一個receiver,該receiver 監聽系統的screen off(即螢幕關閉)事件。當然在service中要關閉原有的屏保(關閉系統屏保需要再配置檔案中獲得權限)。

(2)然後在方法onreceive中啟動自己的屏保 activity。在此需要注意,事件screen off不能在配置檔案androidmanifest.xml中注冊,receiver必須在java代碼中聲明和注冊。

根據上述原理,我們開發出一個簡單的屏保程式,具體實作流程如下所示。

(1)定義如下兩個變量來關閉系統原有屏保。

在此可以看到,在receiver的onreceive()函數中啟動了一個屏保activity。

(4)在配置檔案中申請權限,具體代碼如下所示。

經過上述操作之後,屏保activity設計完成。

在此我們可以将activity設定為全屏顯示,具體代碼如下所示。

在此需要注意,必須将如下代碼放在全屏代碼之後,否則會無效。

setcontentview(r.layout.main);

我們可以重寫onkeydown()函數,目的是通過任意鍵來關閉屏保activity,具體代碼如下所示。

繼續閱讀