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

歡迎訪問 生活随笔!

生活随笔

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

Android

Android 应用 与 系统锁屏

發布時間:2024/1/18 Android 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 应用 与 系统锁屏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有以下情景的操作
1. 應用喚醒屏幕,并且直接解除鎖屏,顯示應用

PowerManager的設置參數
PARTIAL_WAKE_LOCK:保持CPU 運轉,屏幕和鍵盤燈有可能是關閉的。

SCREEN_DIM_WAKE_LOCK:保持CPU 運轉,允許保持屏幕顯示但有可能是灰的,允許關閉鍵盤燈

SCREEN_BRIGHT_WAKE_LOCK:保持CPU 運轉,允許保持屏幕高亮顯示,允許關閉鍵盤燈

FULL_WAKE_LOCK:保持CPU 運轉,保持屏幕高亮顯示,鍵盤燈也保持亮度

ACQUIRE_CAUSES_WAKEUP:正常喚醒鎖定實際上不打開照明。相反,它們所造成的照明留在一旦接通(例如從用戶的活動)。該標志將強制屏幕和/或鍵盤,立即打開,當激活鎖定被收購。一個典型的用法是將通知用戶立即看到哪些是重要的

ON_AFTER_RELEASE:該標志被設置時,用戶活動定時器將復位時激活鎖定被釋放時,使照明留在多一點的時間。這可用于減少閃爍如果正在喚醒鎖定條件之間循環。

KeyguardManager km= (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); KeyguardManager.KeyguardLock kl = km.newKeyguardLock("unLock"); //或者newKeyguardLock(""); //解鎖 Disable the keyguard from showing.kl.disableKeyguard(); //獲取電源管理器對象 PowerManager pm=(PowerManager) context.getSystemService(Context.POWER_SERVICE); //獲取PowerManager.WakeLock對象,后面的參數|表示同時傳入兩個值,最后的是LogCat里用的Tag PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK,"bright"); //點亮屏幕 wl.acquire(); //釋放 wl.release(); <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

但是有一個問題.disableKeyguard() 的作用就是關閉系統自帶的鎖屏服務,所以手機被喚醒后,你再按電源鍵想要鎖屏 是鎖不了的,按下home鍵程序在后臺也鎖不了。除非退出應用這樣。

所以在不需要的地方,調用reenableKeyguard()方法關閉服務(即恢復系統鎖屏服務時)
所以一般

if(true){//獲取電源管理器對象pm=(PowerManager) getSystemService(Context.POWER_SERVICE);//獲取PowerManager.WakeLock對象,后面的參數|表示同時傳入兩個值,最后的是調試用的Tagwl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");//點亮屏幕wl.acquire();//得到鍵盤鎖管理器對象km= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);kl = km.newKeyguardLock("unLock");//解鎖kl.disableKeyguard();}else{//鎖屏kl.reenableKeyguard();//釋放wakeLock,關燈wl.release();}

在加上獲取 屏幕狀態

/*** 獲取screen狀態*/private void getScreenState() {PowerManager manager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);if (manager.isScreenOn()) {if (mScreenStateListener != null) {mScreenStateListener.onScreenOn();}} else {if (mScreenStateListener != null) {mScreenStateListener.onScreenOff();}}}

2
. 監聽廣播

IntentFilter filter = new IntentFilter();filter.addAction(Intent.ACTION_SCREEN_ON);filter.addAction(Intent.ACTION_SCREEN_OFF);filter.addAction(Intent.ACTION_USER_PRESENT);context.registerReceiver(mScreenReceiver, filter);@Overridepublic void onReceive(Context context, Intent intent) {action = intent.getAction();if (Intent.ACTION_SCREEN_ON.equals(action)) { // 開屏} else if (Intent.ACTION_SCREEN_OFF.equals(action)) { // 鎖屏} else if (Intent.ACTION_USER_PRESENT.equals(action)) { // 解鎖}}

獲取

總結

以上是生活随笔為你收集整理的Android 应用 与 系统锁屏的全部內容,希望文章能夠幫你解決所遇到的問題。

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