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

Android 11.0 framework中根据包名设置某个app横屏显示

1.前言


  在android11.0的系统rom定制化开发中,在系统中默认是竖屏显示的,但是在内置某些app的时候需要适配横屏显示,所以就需要在启动app的时候,在wms的窗口
中把app的方向调整为横屏显示,接下来就来从wms等相关类中来处理这个功能的实现

2.framework中根据包名设置某个app横屏显示的核心类

frameworks/base/services/core/java/com/android/server/wm/DisplayContent.java
framework/base/services/java/com/android/server/wm/DisplayRotation.java

3.framework中根据包名设置某个app横屏显示的核心功能分析和实现


WMS是窗口的管理者,负责窗口的启动,添加和删除,另外窗口的大小也时有 WMS 管理的,
管理窗口的核心成员有 DisplayContent,WindowToken 和 WindowState,
DisplayContent是一个WindowContainer,其对应于一个屏幕id,对于多屏幕会对应多个DisplayContent。
需要注意DisplayContent代表的是逻辑显示屏,所以具体显示屏幕方向就需要在DisplayContent中进行处理
接下来分析下相关的源码

    DisplayContent(Display display, RootWindowContainer root) {
        super(root.mWindowManager);
        mRootWindowContainer = root;
        mAtmService = mWmS

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

相关文章:

  • SpringBoot项目结构及依赖技术栈
  • Vue项目的性能优化
  • 每日学术速递4.24
  • Android开发:使用sqlite数据库实现记单词APP
  • Presslabs MySQL Operator
  • 第一次使用R语言
  • 2023五一杯C题公布
  • JAVA基本运算符与强制类型提升转换------JAVA入门基础教程
  • 黑马程序员Java零基础视频教程笔记-运算符
  • 放射学中的自然语言处理技术综述
  • java异常处理 throws、throw、try...catch..finally
  • 分布式系统反向代理设计与正向代理
  • 到底什么是JS的promise?
  • 9.Kafka系列之设计思想(七)-配额
  • Visual Studio的安装注意
  • Clang SA is not enabled
  • 软件开发案例实战经验
  • 为了安装pip install pyaudio花费不少时间,坑
  • ThreadLocal机制解读和源码分析
  • 用好ChatGPT,毕业直接走上人生巅峰