Android 應用 與 系統鎖屏

2021-07-15 17:32:19 字數 2236 閱讀 5365

有以下情景的操作

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();

"android.permission.wake_lock" />

"android.permission.disable_keyguard" />

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

所以在不需要的地方,呼叫reenablekeyguard()方法關閉服務(即恢復系統鎖屏服務時)

所以一般

if(true)

else

在加上獲取 螢幕狀態

/**

* 獲取screen狀態

*/private

void

getscreenstate()

} else

}}

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);

@override

public

void

onreceive(context context, intent intent) else

if (intent.action_screen_off.equals(action)) else

if (intent.action_user_present.equals(action))

}

獲取

android遮蔽系統鎖屏的辦法

最近在開發乙個第三方鎖屏,使用中需要遮蔽系統鎖屏,故 如下 在第三方鎖屏的服務中oncreate 方法中 第三方鎖屏服務啟動時關閉一次系統鎖屏服務即可 keyguardmanager mkeyguard keyguardlock mkeylock mkeyguard keyguardmanager ...

Android 鎖屏記錄

先給大家看段對碼 mkeyguard keyguardmanager getsystemservice context.keyguard service mkeylock mkeyguard.newkeyguardlock mkeylock.disablekeyguard 做過系統鎖屏服務程式的童靴...

Android 鎖屏問題

android鎖屏 android鎖屏時,1.會首先呼叫onpause 所以應該儲存應用程式的資源。2.android解鎖的時候,會呼叫onresume,讀入儲存的應用程式的資源。如果執行程式是已經鎖屏,1.應用程式會先呼叫oncreate 然後onresume 再則onpause 2.這時得到的螢...