日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android下屏保程序的开发

發布時間:2023/12/15 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android下屏保程序的开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

有時候,需要在程序中實現屏保相關的功能,如指定一段時間后,顯示自定義的屏保畫面,網上查了很多資料,大多講得不詳細,或者說不完整。故對屏保相關的功能進行整理。
1、注冊一個BroadcastReceiver,用于接收ACTION_SCREEN_OFF事件。當接收到這個事件時,打開自定義的屏保畫面。以下代碼為了測試方便,放在MainActivity.java中,也可以根據需要,把代碼放入service中。

registerReceiver(mMasterResetReciever,newIntentFilter(Intent.ACTION_SCREEN_OFF));BroadcastReceiver mMasterResetReciever=newBroadcastReceiver() {publicvoidonReceive(Context context, Intent intent){try{Intent i =newIntent();i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);i.setClass(context, ScreenSaverActivity.class);context.startActivity(i);}catch(Exception e){Log.i("Output:", e.toString());}} }; 2、完成這一步時,雖然屏幕關閉時,屏保畫面被顯示,但由于接收的是ACTION_SCREEN_OFF事件,所以屏幕已經變黑了,這個時候就需要強制點亮屏幕。
首先,在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 權限:

<uses-permissionandroid:name="android.permission.DISABLE_KEYGUARD"/>

再次,把以下這段代碼加入合適的地方。只要啟動屏保時能夠被調用到

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下屏保程序的开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。