Android 13.0 强制app横屏显示

news/2024/10/22 8:14:56/

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.ppmy.cn/news/1047075.html

相关文章

如何通过MAT排查生产环境服务内存溢出

前言 前段时间,运维反馈生产环境翻译服务某个节点触发内存告警了。运维在重启节点之前,生成了dump快照,这里介绍下如何使用MAT内存分析工具来排查服务内存高占用问题。 MAT简介 MAT是Memory Analyzer的简称,它是一款功能强大的…

为什么终端是1是从1到1的水仙花数呢

为什么终端是1是从1到1的水仙花数呢 #include<stdio.h> #include<math.h> int main() { int a,num_init,num; printf(“请输入水仙花数产生的下限值:”); num_init scanf(" %d", &num_init); printf(“请输入水仙花数产生的上限值:”); a scanf…

无重复字符的最长子串——力扣3

滑动窗口 int lengthOfLongestSubstring(string s){int n=s.size();unordered_set<char

基于YOLOv8模型和PCB电子线路板缺陷目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型PCB电子线路板缺陷目标检测系统可用于日常生活中检测与定位PCB线路板瑕疵&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检…

12_Redis为什么这么快高性能设计之epoll和IO多路复用深度解析

Redis为什么这么快&高性能设计之epoll和IO多路复用深度解析 一、before 多路复用要解决的问题 结论 二、IO多路复用模型 2.1 是什么 IO&#xff1a;网络IO多路&#xff1a;多个客户端连接&#xff08;连接就是套接字描述符&#xff0c;即socket或者channel&#xf…

Qt应用开发(基础篇)——纯文本编辑窗口 QPlainTextEdit

一、前言 QPlainTextEdit类继承于QAbstractScrollArea&#xff0c;QAbstractScrollArea继承于QFrame&#xff0c;是Qt用来显示和编辑纯文本的窗口。 滚屏区域基类https://blog.csdn.net/u014491932/article/details/132245486?spm1001.2014.3001.5501框架类QFramehttps://blo…

PostgreSQL could not identify an equality operator for type json

问题 我的SQL&#xff1a; select {"id":"1"}::json UNION select {"id":"2"}::json;在将两个含有json字段的表union时&#xff0c;报错了&#xff1a; > ERROR: could not identify an equality operator for type json分析 …

oj在线编程输入输出

练习地址&#xff1a;校招笔试真题_C工程师、golang工程师_牛客网 1.读取多行内容 输入描述&#xff1a; 输入包括两个正整数a,b(1 < a, b < 1000),输入数据包括多组。 输出描述&#xff1a; 输出ab的结果输入例子&#xff1a; 1 5 10 20 输出例子&#xff1a; 6 30imp…