Android下屏保程序的开发
生活随笔
收集整理的這篇文章主要介紹了
Android下屏保程序的开发
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
有時候,需要在程序中實現屏保相關的功能,如指定一段時間后,顯示自定義的屏保畫面,網上查了很多資料,大多講得不詳細,或者說不完整。故對屏保相關的功能進行整理。
1、注冊一個BroadcastReceiver,用于接收ACTION_SCREEN_OFF事件。當接收到這個事件時,打開自定義的屏保畫面。以下代碼為了測試方便,放在MainActivity.java中,也可以根據需要,把代碼放入service中。
首先,在AndroidManifest.xml中加上permission 權限: <uses-permissionandroid:name="android.permission.WAKE_LOCK"/> 以下代碼在ScreenSaverActivity.onCreate中 PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE); mWakeLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.SCREEN_DIM_WAKE_LOCK |PowerManager.ON_AFTER_RELEASE,"SimpleTimer"); 然后在屏保畫面顯示時,點亮屏幕。在ScreenSaverActivity.onResume中加入 mWakeLock.acquire(); 為了能夠在退出屏保時,能夠讓屏幕可以關閉,我們必須釋放WakeLock.故在ScreenSaverActivity.onPause中加入 mWakeLock.acquire(); 注意,必須放在onResume中,如放在別的地方。會導致程序無法再次進入屏保,具體原因不詳。由于手頭只有一個手機,不能進行廣泛的測試。
3. 完成第二步后,一般情況下大功告成。按鍵就可以返回程序。但有時候需要點擊屏幕就返回系統。這個時候會發現,無論怎么樣點擊屏幕,系統都不會有響應,因為此時屏幕已經被鎖定。因此,要實現這個功能,在打開屏保時,需要關鍵屏幕的鎖定功能。
首先,在AndroidManifest.xml中加上permission 權限:
再次,把以下這段代碼加入合適的地方。只要啟動屏保時能夠被調用到
KeyguardManager mKeyguardManager= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE); KeyguardLock mKeyguardLock= mKeyguardManager.newKeyguardLock(TAG); mKeyguardLock.disableKeyguard();當然也可以通過以下代碼開啟屏幕鎖定功能。
mKeyguardLock.reenableKeyguard();轉載于:https://my.oschina.net/u/779520/blog/122121
總結
以上是生活随笔為你收集整理的Android下屏保程序的开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2016111是什么型号
- 下一篇: 老头乐起火引燃路边大众轿车 网友:电动车