Android Q(10) 默认横屏
直接上代码
开机动画(android那个动画) 横屏就改这些cpp h,但是在动画界面一段时间后,还是会竖屏,必须加下面的java代码。
frameworks/base/cmds/bootanimation/BootAnimation.h
添加枚举
private:virtual bool threadLoop();virtual status_t readyToRun();virtual void onFirstRef();virtual void binderDied(const wp<IBinder>& who);//aaron addenum {eOrientationDefault = 0,eOrientation90 = 1,eOrientation180 = 2,eOrientation270 = 3,};//endbool updateIsTimeAccurate();
frameworks/base/cmds/bootanimation/BootAnimation.cpp
status_t BootAnimation::readyToRun() {mAssets.addDefaultAssets();mDisplayToken = SurfaceComposerClient::getInternalDisplayToken();if (mDisplayToken == nullptr)return -1;DisplayInfo dinfo;status_t status = SurfaceComposerClient::getDisplayInfo(mDisplayToken, &dinfo);if (status)return -1;//aaron addif (eOrientation90) {int temp = dinfo.h;dinfo.h = dinfo.w;dinfo.w = temp;}Rect destRect(dinfo.w, dinfo.h);SurfaceComposerClient::Transaction t;t.setDisplayProjection(mDisplayToken, eOrientation90, destRect, destRect);t.apply();//end// create the native surfacesp<SurfaceControl> control = session()->createSurface(String8("BootAnimation"),dinfo.w, dinfo.h, PIXEL_FORMAT_RGB_565);//aaron delete//SurfaceComposerClient::Transaction t;t.setLayer(control, 0x40000000).apply();
frameworks/base/core/java/com/android/internal/view/RotationPolicy.java
把NATURAL_ROTATION改成Surface.ROTATION_90,原来是Surface.ROTATION_0
/*** Provides helper functions for configuring the display rotation policy.*/
public final class RotationPolicy {public static final int NATURAL_ROTATION = Surface.ROTATION_90;}
frameworks/base/services/core/java/com/android/server/wm/DisplayContent.java
省略了代码,只把修改到的代码贴出来了。
/*** Current rotation of the display.* Constants as per {@link android.view.Surface.Rotation}.** @see #updateRotationUnchecked()*/private int mRotation = 1;boolean updateRotationUnchecked(boolean forceUpdate) {final int oldRotation = mWmService.mBootAnimationStopped ? mRotation:ROTATION_90;}private DisplayInfo updateDisplayAndOrientation(int uiMode, Configuration outConfig) {final int appWidth = mDisplayPolicy.getNonDecorDisplayWidth(dw, dh, mWmService.mBootAnimationStopped ?mRotation:ROTATION_90, uiMode,displayCutout);final int appHeight = mDisplayPolicy.getNonDecorDisplayHeight(dw, dh, mWmService.mBootAnimationStopped ?mRotation:ROTATION_90, uiMode,displayCutout);}@CallSuper@Overridepublic void writeToProto(ProtoOutputStream proto, long fieldId,@WindowTraceLogLevel int logLevel) {proto.write(ROTATION, mWmService.mBootAnimationStopped ? mRotation:ROTATION_90);}
这边不改的话,launcher就不会横屏,其他app都会横屏了。
frameworks/base/services/core/java/com/android/server/wm/DisplayRotation.java
最后返回ROTATION_90
int rotationForOrientation(int orientation, int lastRotation) {return Surface.ROTATION_90;
}
Android Q(10) 默认横屏相关推荐
- Android Q 10.1 KeyMaster源码分析(二) - 各家方案的实现
写在之前 这两篇文章是我2021年3月初看KeyMaster的笔记,本来打算等分析完KeyMaster和KeyStore以后再一起做成一系列贴出来,后来KeyStore的分析中断了,这一系列的文章就变 ...
- 华为android o适配名单,华为给出首批升级名单,这8款华为手机率先适配Android Q 10系统...
原标题:华为给出首批升级名单,这8款华为手机率先适配Android Q 10系统 昨天,在谷歌的I/O大会上,谷歌正式向消费者介绍了Android Q 10系统中的新功能,除了自家的Pixel设备率先 ...
- Android Q(10.0)版本新特性以及兼容性适配
北京时间2019年3月14日Google正式对外发布Android Q Beta 1及预览版SDK,这意味着安卓开发者们又即将迎来一年一度的新版本适配工作了.Android Q 为开发者们带来了许多新 ...
- Android Q(10.0)的新功能和API
Android Q功能和API 目录: 安全性增强 改进的生物识别认证对话框 直接从APK运行嵌入式DEX代码 TLS 1.3支持 Public Conscrypt API 连接功能 Wi-Fi网络连 ...
- 基于Android Q 修改默认音量等级
在之前的一些android版本中,修改默认音量是修改: path:frameworks\base\media\java\android\media\AudioService.java /// M: m ...
- Android Q(10.0)黑暗主题
黑暗的主题 Android Q提供了一个新的Dark主题,适用于Android系统UI和设备上运行的应用程序. 黑暗主题有很多好处: 可以大幅减少用电量(取决于设备的屏幕技术). 提高低视力用户和对强 ...
- android q wifi,Android Q 10连接到网络wifinetworksspecifier
由于Android Q不允许WifiManager添加网络,他们建议使用wifinetworksspecifier. 使用WifiNetworkSuggestionBuilder,我已经能够在状态栏上 ...
- Android Q(10) 拍照问题
Android Q官方文档 AndroidQ新增的分区存储 Android Q文件存储机制修改成了沙盒模式,和IOS神似 应用只能访问自己沙盒下的文件和公共媒体文件 对于Android Q以下,还是使 ...
- android q(10.0)app应用卸载白名单
1.概述 在10.0的系统产品开发中,对于app的卸载管理通常是有系统的PM负责管理的.所以在app应用卸载白名单功能的实现也是从PM在卸载方法中,按照白名单进行卸载 2.app应用卸载白名单的核心类 ...
最新文章
- css实现左侧宽度自适应,右侧固定宽度
- this.class.getClassLoader().getResourceAsStream与this.class.getResourceAsStream
- 【广州.NET社区线下活动】云定未来 - Azure Meetup
- Vue项目实操cookie相关操作封装
- 【百度地图API】如何制作多途经点的线路导航——驾车篇
- 线上 4 台机器同一时间全部 OOM,到底发生了什么?
- 2020牛客暑期多校训练营(第二场)
- Linux 命令之 rm -- 删除文件和目录
- Java代码格式化算法_一个时间格式化的工具类:TimeUtil
- vivado fpga最最简单的入门--led闪烁 创建工程+代码输入+添加引脚约束完整具体流程
- Data - 大数据生态圈
- (转)计算机视觉CV 圈子
- BZOJ5343[Ctsc2018]混合果汁——主席树+二分答案
- sql文件查看器_ACCDB MDB Explorer for Mac(MDB文件查看器) v2.4.7
- java如何操作视图
- 魔兽争霸3-游戏简单剖析 No.2 物品
- tan和cot的梗_sin cos tan cot 之间的关系
- Windows 下安装sql server 2016(附安装包资源)
- 如何刷新bios?在windows系统上刷新bios的方法
- oracle脏读如何解决,关于脏读分析
热门文章
- Oracle model iterate,ibatis组合Oracle的iterate insert批量插入
- python实现四舍五入
- Alternate Data Streams(ADSs)是什么
- 电脑重装系统后一直显示请稍等怎么办?
- java基础5:工厂模式、单例模式、File文件类、递归、IO流、Properties配置文件、网络编程、利用IO流模拟注册登录功能、关于反射、JDK动态代理
- 用自信克服恐惧心理——职场人士寓言(15)
- 测量高中文理分班、指导高中生文理分科和高考报志愿
- 简短励志程序员口号_程序员的简短PSA:关于管理
- AVPlayer那些坑
- 互动拍照 — 体感抠像拍照