android 怎么强制手机屏锁进入横屏模式

 时间:2024-10-30 18:09:39

1、我这里介绍的方式是针对手机系统是debug版本的,因为生产版本不让用户自己修改系统的一些参数

2、先上代码解释清楚原理,点击power按钮,系统会发消息给KeyguardViewMediator,然后消息传递给KeyguardViewManager,然后会掉用show方法,来显示锁屏。具体的创建锁屏view又会调用maybeCreateKeyguardLocked方法,现在来具体看下这个方法

android 怎么强制手机屏锁进入横屏模式

3、这个方法里的lp.screenOrientation = enableScreenRotation ? ActivityInfo.SCREEN_ORIENTATION_USER : ActivityInfo.SCREEN_ORIENTATION_NOSENSOR;就是在设置锁屏横竖屏。如果enableScreenRotation为true则屏幕根据用户拿手机方式自感应。false反之。我们在这里就是想让enableScreenRotation为true,这样锁屏才能横屏

android 怎么强制手机屏锁进入横屏模式android 怎么强制手机屏锁进入横屏模式

4、进一步就看boolean enableScreenRotation = shouldEnableScreenRotation();然后具体看这个shouldEnableScreenRotation方法。容易看到具体的true或者false是根据lockscreen.rot_override和config_enableLockScreenRotation决定的。只要其中一个为true,enableScreenRotation的值就为true。然而config_enableLockScreenRotation的值通过查找为false,这样就需要我们修改lockscreen.rot_override的值为true,来实现目的

android 怎么强制手机屏锁进入横屏模式

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 trueok,大功告成,看效果

android 怎么强制手机屏锁进入横屏模式android 怎么强制手机屏锁进入横屏模式android 怎么强制手机屏锁进入横屏模式
  • Scratch实例碰撞侦测技术
  • 网易云音乐在哪更改视频解码格式
  • 皖怎么读
  • 医用消毒耦合剂与各种B超的使用方法
  • 华为手机如何进入游戏空间
  • 热门搜索
    省略号表示什么 毛芋头的功效与作用 机油什么牌子好 海带的功效与作用 初中电学知识点 海贼王什么时候完结 近视眼镜什么牌子好 乌贼骨的功效与作用 什么是多线程 天南星的功效与作用