国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定结县| 积石山| 鹤壁市| 九台市| 财经| 阿坝县| 大城县| 广水市| 海宁市| 乌兰察布市| 青浦区| 揭东县| 凤山县| 石渠县| 淮南市| 宜君县| 漯河市| 吉林市| 广水市| 南木林县| 东海县| 崇信县| 抚松县| 平潭县| 邹城市| 原平市| 磴口县| 镇江市| 肇东市| 鄱阳县| 云安县| 运城市| 麻栗坡县| 清水县| 高尔夫| 许昌县| 师宗县| 法库县| 阿瓦提县| 宝应县| 宝应县|