android 平板固定横屏,Android9.0 MTK 平板横屏方案修改

2023-11-04 05:10

本文主要是介绍android 平板固定横屏,Android9.0 MTK 平板横屏方案修改,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

拆解步骤

1、app强制横屏显现,无视android:screenOrientation=”portrait”属性

2、屏幕接触坐标修正为横屏

3、开机动画横屏

4、开机logo、关机充电动画横屏

5、RecoveryUI横屏9b219746af1a6b0883031d8a2fa18fd3.png

上代码

1、app强制横屏显现

修正rotationForOrientationLw(),默许回来270

frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java

@OverridepublicintrotationForOrientationLw(intorientation,intlastRotation,booleandefaultDisplay){

….synchronized(mLock){

…default://ForUSER,UNSPECIFIED,NOSENSOR,SENSORandFULL_SENSOR,//justreturnthepreferredorientationwealreadycalculated.if(preferredRotation>=0){returnpreferredRotation;

}//returnSurface.ROTATION_0;returnSurface.ROTATION_270;//cczhengaddforlandscap}

}

}

activity默许强制属性为SCREEN_ORIENTATION_LANDSCAPE

frameworks\base\services\core\java\com\android\server\wm\WindowManagerService.java

booleanupdateOrientationFromAppTokensLocked(intdisplayId,booleanforceUpdate){longident=Binder.clearCallingIdentity();try{finalDisplayContentdc=mRoot.getDisplayContent(displayId);//finalintreq=dc.getOrientation();intreq=android.content.pm.ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;//cczhengaddforlandscapif(req!=dc.getLastOrientation()||forceUpdate){if(DEBUG_ORIENTATION){

Slog.v(TAG,”updateOrientation:req=”+req+”,mLastOrientation=”+dc.getLastOrientation(),newThrowable(“updateOrientation”));

}

dc.setLastOrientation(req);//sendamessagetoPolicyindicatingorientationchangetotake//actionlikedisabling/enablingsensorsetc.,//TODO(multi-display):Implementpolicyforsecondarydisplays.if(dc.isDefaultDisplay){

mPolicy.setCurrentOrientationLw(req);

}returndc.updateRotationUnchecked(forceUpdate);

}returnfalse;

}finally{

Binder.restoreCallingIdentity(ident);

}

}

DisPlayContent显现mRotation默许改为3(270)

frameworks\base\services\core\java\com\android\server\wm\DisplayContent.java

/**

*Currentrotationofthedisplay.

*Constantsasper{@linkandroid.view.Surface.Rotation}.

*

*@see#updateRotationUnchecked()

*///privateintmRotation=0;privateintmRotation&

这篇关于android 平板固定横屏,Android9.0 MTK 平板横屏方案修改的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_35337252/article/details/117310600
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/343470

相关文章

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

Python对PDF书签进行添加,修改提取和删除操作

《Python对PDF书签进行添加,修改提取和删除操作》PDF书签是PDF文件中的导航工具,通常包含一个标题和一个跳转位置,本教程将详细介绍如何使用Python对PDF文件中的书签进行操作... 目录简介使用工具python 向 PDF 添加书签添加书签添加嵌套书签Python 修改 PDF 书签Pytho

利用Python实现可回滚方案的示例代码

《利用Python实现可回滚方案的示例代码》很多项目翻车不是因为不会做,而是走错了方向却没法回头,技术选型失败的风险我们都清楚,但真正能提前规划“回滚方案”的人不多,本文从实际项目出发,教你如何用Py... 目录描述题解答案(核心思路)题解代码分析第一步:抽象缓存接口第二步:实现两个版本第三步:根据 Fea

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应