国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android開發實現消除屏幕鎖的方法

2019-10-22 18:27:00
字體:
來源:轉載
供稿:網友

本文實例講述了Android開發實現消除屏幕鎖的方法。分享給大家供大家參考,具體如下:

實現屏幕無鎖--->當我們開機或者超過鎖屏幕時間或按電源鍵之后屏幕沒有鎖的一種狀態。

經過查詢許多資料以及分析代碼,我們可以發現最主要的屏幕功能還是在framework/base/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java中。

里面有一個handleshow方法:

真正的去鎖屏實現有一個 handlehide方法,真正的去隱藏鎖屏實現 handleshow方法:

private void handleShow() {  synchronized (KeyguardViewMediator.this) {    if (DEBUG) Log.d(TAG, "handleShow");    if (!mSystemReady) return;    playSounds(true);    mKeyguardViewManager.show(); //  顯示鎖屏界面對應的窗口    mShowing = true;       // 鎖屏狀態 , 即顯示鎖屏    adjustUserActivityLocked();  // 取消對用戶Activity的控制    adjustStatusBarLocked();   //取消對狀態欄的控制    try {      ActivityManagerNative.getDefault().closeSystemDialogs("lock");    } catch (RemoteException e) {    }    mShowKeyguardWakeLock.release();  }}

我們只要將上面注釋了的語句注釋掉,那么就執行的空的,那樣就取消真正的去鎖屏實現

同理handlehide方法也只要注釋

mKeyguardViewManager.hide();mShowing = false;adjustUserActivityLocked();AdjustStatusBarLocked()

就可以取消真正的去隱藏鎖屏實現。

但是做完以上后仍存在一個Bug(問題),就是喚醒屏幕后,會在指定的時間內屏幕由亮變暗,我們還需要做如下修改:按下POWER鍵時,解除屏幕由亮變暗的Bug。

handleWakeWhenReady(int keyCode)方法下注釋掉

pokeWakelock(); //按下POWER鍵時, 解除屏幕由亮變暗的Bug

就可以達到效果了。

最后還有一種方法就是在KeyguardViewMediator.java中有一個變量mExternallyEnabled,只要將其初始改為false,需要顯示界面(doKeyguard())時都不會繼續走下去,也可以達到效果。

 

希望本文所述對大家Android程序設計有所幫助。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临桂县| 通城县| 弋阳县| 郸城县| 米林县| 都江堰市| 蕲春县| 长春市| 沅江市| 吉木萨尔县| 东光县| 武胜县| 龙口市| 凤台县| 利辛县| 克拉玛依市| 游戏| 拜城县| 武威市| 庐江县| 江口县| 偃师市| 富蕴县| 修水县| 巴南区| 屏东县| 顺义区| 焉耆| 仪陇县| 怀来县| 石台县| 宝清县| 贺兰县| 甘孜| 惠州市| 汽车| 彰化县| 宕昌县| 察雅县| 东源县| 兴安县|