時間:2017-07-04 來源:互聯網 瀏覽量:
今天給大家帶來android,如何強製手機屏鎖進入橫屏模式,android,強製手機屏鎖進入橫屏模式,的方法,讓您輕鬆解決問題。
我們都知道,鎖屏原生代碼是不可以橫屏的,除非第三方廠家做了修改。這裏來介紹下怎麼使其強製橫屏。其實就是讓lockscreen.rot_override = true具體方法如下:
1我這裏介紹的方式是針對手機係統是debug版本的,因為生產版本不讓用戶自己修改係統的一些參數
2先上代碼解釋清楚原理,點擊power按鈕,係統會發消息給KeyguardViewMediator,然後消息傳遞給KeyguardViewManager,然後會掉用show方法,來顯示鎖屏。具體的創建鎖屏view又會調用maybeCreateKeyguardLocked方法,現在來具體看下這個方法
3這個方法裏的lp.screenOrientation = enableScreenRotation ? ActivityInfo.SCREEN_ORIENTATION_USER : ActivityInfo.SCREEN_ORIENTATION_NOSENSOR;就是在設置鎖屏橫豎屏。如果enableScreenRotation為true則屏幕根據用戶拿手機方式自感應。false反之。我們在這裏就是想讓enableScreenRotation為true,這樣鎖屏才能橫屏
4進一步就看boolean enableScreenRotation = shouldEnableScreenRotation();然後具體看這個shouldEnableScreenRotation方法。容易看到具體的true或者false是根據lockscreen.rot_override和config_enableLockScreenRotation決定的。隻要其中一個為true,enableScreenRotation的值就為true。然而config_enableLockScreenRotation的值通過查找為false,這樣就需要我們修改lockscreen.rot_override的值為true,來實現目的
5但是搜索整個framework代碼發現,隻有get此值的地方,沒有set的地方。後來再看發現,此值是個SystemProperties,於是通過adb shell setprop lockscreen.rot_override也沒有找到此係統參數。最後推測穀歌原生代碼,並未對此參數進行設置,這也就解釋了為什麼不能橫屏,因為shouldEnableScreenRotation一直返回的值為false。
好了原理就是這樣。我們怎麼實現橫屏呢?就是想發放將lockscreen.rot_override設為true。
6首先打開cmd 窗口,adb root 獲得手機root權限。adb remount,獲得寫權限。adb shell setprop lockscreen.rot_override true
ok,大功告成,看效果
以上就是android,如何強製手機屏鎖進入橫屏模式,android,強製手機屏鎖進入橫屏模式,的方法教程,希望本文中能幫您解決問題。