当前位置: 首页 > article >正文

Android12强制所有应用跟随gsensor旋转

前言

 Android12系统中如果机器带gsensor,竖屏应用如果固定了竖屏,当机器旋转为横屏,竖屏应用是不会转到横屏显示的,还是竖屏显示。抖音这种app就是这样的。因为app里面manifest文件中通过android:screenOrientation固定住了竖屏显示。如果要让横屏的时候app也能够横屏显示,这个时候就需要修改系统,将app的属性拦截掉。

通过了解旋转的流程,可以知道,处理app旋转的地方位于frameworks/base/services/core/java/com/android/server/wm/DisplayRotation.java中的rotationForOrientation()函数里面,我们在这个函数进行拦截即可。rotationForOrientation函数第一个参数orientation,就是app的属性值了,我们把这个属性值强制改成所有方向跟随重力感应方向显示。
具体修改方法如下:

--- a/frameworks/base/services/core/java/com/android/server/wm/DisplayRotation.java
+++ b/frameworks/base/services/core/java/com/android/server/wm/DisplayRotation.java
@@ -1176,7 +1176,7 @@ public class DisplayRotation {
                 Surface.rotationToString(mUserRotation), mUserRotation,
                 mUserRotationMode == WindowManagerPolicy.USER_ROTATION_LOCKED
                

http://www.kler.cn/a/149597.html

相关文章:

  • 32位、64位、x86与x64:深入解析计算机架构
  • 随手记:简单实现纯前端文件导出(XLSX)
  • 24.11.13 Javascript3
  • 网站小程序app怎么查有没有备案?
  • 2024开发者浏览器必备扩展,不允许还有人不知道~
  • fastapi 查询参数支持 Pydantic Model:参数校验与配置技巧
  • 23.解释不同方式的自动装配,spring 自动装配 bean 有哪些方式?
  • 【带头学C++】----- 八、C++面向对象编程 ---- 8.10 函数的默认参数
  • Python基础语法之学习字符串快速格式化
  • C\C++:原子计数操作 之__syn_fetch_and_add性能研究
  • 前后端分离开发出现的跨域问题
  • 压缩字符串II
  • Maven 介绍
  • C语言基础程序设计题
  • 爬虫如何确定HTTP代理IP是否符合自己业务需求?
  • Android 13.0 app进程保活白名单功能实现
  • Python语言学习笔记之二(基础语法)
  • leetcode 611. 有效三角形的个数(优质解法)
  • 去水印软件有哪些?亲测四款好用去水印神器
  • redis使用
  • “rhdf5filters.so’ not found when install ‘glmGamPoi‘ package
  • AUTOSAR系统服务篇 - BswM
  • RPG项目01_UI登录
  • 如何在 Vim 中剪切、复制和粘贴
  • leetcode 打家劫舍
  • [栈溢出+参数跟踪] [ZJCTF 2019]Login