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

Android 13.0 强制app横屏显示

1.概述

在13.0产品定制化开发中,对于处理屏幕旋转方向,首先有kernel底层处理,从底层驱动gsensor 中获取数据,从而判断屏幕方向的,然后事件上报后 最后由WMS就是WindowManagerService 来处理旋转的相关事件

2.强制app横屏显示的核心类

/framework/base/services/java/com/android/server/wm/DisplayRotation.java

3.强制app横屏显示核心功能分析和处理

在系统中wms主要是处理屏幕相关的核心类,WMS中在处理屏幕自动旋转,主要是调用
DisplayRotation的freezeRotation方法锁定用户指定的屏幕方向,调用thawRotation方法,解锁用户固定屏幕,
恢复屏幕自动旋转。最后调用updateRotationUnchecked,发送新的Configuration变化,
以及如果布局发生变化,也会重新计算布局。

关于处理屏幕方法的api在13.0的系统中也是DisplayRotation.java 里负责处理的,
具体需要看源码然后分析具体的旋转功能

路径为:/framework/base/services/java/com/android/server/wm/DisplayRotation.java

int rotationForOrientation(int orientation, int lastRotation) {
if (DEBUG_ORIENTATION) {
Slog.v(TAG, "rotationForOrientation(orient="
+ orientation + ", last="
http://www.lryc.cn/news/130906.html

相关文章:

  • 平方数之和(力扣)双指针 JAVA
  • 深入浅出Pytorch函数——torch.nn.init.sparse_
  • OpenCV实现BGR2BayerGB/BG格式的转换
  • Gateway网关路由以及predicates用法(项目中使用场景)
  • 深入浅出Pytorch函数——torch.nn.init.constant_
  • centos mysql8解决Access denied for user ‘root‘@‘localhost‘ (using password: YES)
  • Docker实战:Docker常用命令
  • 基于51单片机直流电机转速数码管显示控制系统
  • 小程序商品如何指定打印机
  • LLaMA-7B微调记录
  • 域名子目录发布问题(nginx、vue-element-admin、uni-app)
  • 【环境配置】Windows 10 安装 PyTorch 开发环境,以及验证 YOLOv8
  • 数学建模之“层次分析法”原理和代码详解
  • 使用IText导出复杂pdf
  • 多线程并发服务器(TCP)
  • uni-app的Vue.js实现微信小程序的紧急事件登记页面功能
  • 面试题 17.16.按摩师
  • vscode里配置C#环境并运行.cs文件
  • uniapp配置添加阿里巴巴图标icon流程步骤
  • 大模型基础02:GPT家族与提示学习
  • 算法基础课——基础算法(模板整理)
  • 如何解决使用npm出现Cannot find module ‘XXX\node_modules\npm\bin\npm-cli.js’错误
  • 【华为认证数通高级证书实验-分享篇2】
  • ui设计需要学编程吗难不难学习 优漫动游
  • 什么是线程优先级?Java中的线程优先级是如何定义和使用的?
  • 无涯教程-TensorFlow - XOR实现
  • 计算机组成与设计 Patterson Hennessy 笔记(二)MIPS 指令集
  • 【设计模式】模板方法模式(Template Method Pattern)
  • 【潮州饶平】联想 IBM x3850 x6 io主板故障 服务器维修
  • 【AIGC】 国内版聊天GPT