欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開發(fā)實現(xiàn)消除屏幕鎖的方法

 更新時間:2017年09月28日 12:15:22   作者:xxnan  
這篇文章主要介紹了Android開發(fā)實現(xiàn)消除屏幕鎖的方法,結(jié)合實例形式較為詳細的分析了Android鎖屏的原理及消除屏幕鎖的相關(guān)操作技巧,需要的朋友可以參考下

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

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

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

里面有一個handleshow方法:

真正的去鎖屏實現(xiàn)有一個 handlehide方法,真正的去隱藏鎖屏實現(xiàn) handleshow方法:

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

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

同理handlehide方法也只要注釋

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

就可以取消真正的去隱藏鎖屏實現(xiàn)。

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

handleWakeWhenReady(int keyCode)方法下注釋掉

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

就可以達到效果了。

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

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

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

相關(guān)文章

最新評論