直接上代码

开机动画(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) 默认横屏相关推荐

  1. Android Q 10.1 KeyMaster源码分析(二) - 各家方案的实现

    写在之前 这两篇文章是我2021年3月初看KeyMaster的笔记,本来打算等分析完KeyMaster和KeyStore以后再一起做成一系列贴出来,后来KeyStore的分析中断了,这一系列的文章就变 ...

  2. 华为android o适配名单,华为给出首批升级名单,这8款华为手机率先适配Android Q 10系统...

    原标题:华为给出首批升级名单,这8款华为手机率先适配Android Q 10系统 昨天,在谷歌的I/O大会上,谷歌正式向消费者介绍了Android Q 10系统中的新功能,除了自家的Pixel设备率先 ...

  3. Android Q(10.0)版本新特性以及兼容性适配

    北京时间2019年3月14日Google正式对外发布Android Q Beta 1及预览版SDK,这意味着安卓开发者们又即将迎来一年一度的新版本适配工作了.Android Q 为开发者们带来了许多新 ...

  4. Android Q(10.0)的新功能和API

    Android Q功能和API 目录: 安全性增强 改进的生物识别认证对话框 直接从APK运行嵌入式DEX代码 TLS 1.3支持 Public Conscrypt API 连接功能 Wi-Fi网络连 ...

  5. 基于Android Q 修改默认音量等级

    在之前的一些android版本中,修改默认音量是修改: path:frameworks\base\media\java\android\media\AudioService.java /// M: m ...

  6. Android Q(10.0)黑暗主题

    黑暗的主题 Android Q提供了一个新的Dark主题,适用于Android系统UI和设备上运行的应用程序. 黑暗主题有很多好处: 可以大幅减少用电量(取决于设备的屏幕技术). 提高低视力用户和对强 ...

  7. android q wifi,Android Q 10连接到网络wifinetworksspecifier

    由于Android Q不允许WifiManager添加网络,他们建议使用wifinetworksspecifier. 使用WifiNetworkSuggestionBuilder,我已经能够在状态栏上 ...

  8. Android Q(10) 拍照问题

    Android Q官方文档 AndroidQ新增的分区存储 Android Q文件存储机制修改成了沙盒模式,和IOS神似 应用只能访问自己沙盒下的文件和公共媒体文件 对于Android Q以下,还是使 ...

  9. android q(10.0)app应用卸载白名单

    1.概述 在10.0的系统产品开发中,对于app的卸载管理通常是有系统的PM负责管理的.所以在app应用卸载白名单功能的实现也是从PM在卸载方法中,按照白名单进行卸载 2.app应用卸载白名单的核心类 ...

最新文章

  1. css实现左侧宽度自适应,右侧固定宽度
  2. this.class.getClassLoader().getResourceAsStream与this.class.getResourceAsStream
  3. 【广州.NET社区线下活动】云定未来 - Azure Meetup
  4. Vue项目实操cookie相关操作封装
  5. 【百度地图API】如何制作多途经点的线路导航——驾车篇
  6. 线上 4 台机器同一时间全部 OOM,到底发生了什么?
  7. 2020牛客暑期多校训练营(第二场)
  8. Linux 命令之 rm -- 删除文件和目录
  9. Java代码格式化算法_一个时间格式化的工具类:TimeUtil
  10. vivado fpga最最简单的入门--led闪烁 创建工程+代码输入+添加引脚约束完整具体流程
  11. Data - 大数据生态圈
  12. (转)计算机视觉CV 圈子
  13. BZOJ5343[Ctsc2018]混合果汁——主席树+二分答案
  14. sql文件查看器_ACCDB MDB Explorer for Mac(MDB文件查看器) v2.4.7
  15. java如何操作视图
  16. 魔兽争霸3-游戏简单剖析 No.2 物品
  17. tan和cot的梗_sin cos tan cot 之间的关系
  18. Windows 下安装sql server 2016(附安装包资源)
  19. 如何刷新bios?在windows系统上刷新bios的方法
  20. oracle脏读如何解决,关于脏读分析

热门文章

  1. Oracle model iterate,ibatis组合Oracle的iterate insert批量插入
  2. python实现四舍五入
  3. Alternate Data Streams(ADSs)是什么
  4. 电脑重装系统后一直显示请稍等怎么办?
  5. java基础5:工厂模式、单例模式、File文件类、递归、IO流、Properties配置文件、网络编程、利用IO流模拟注册登录功能、关于反射、JDK动态代理
  6. 用自信克服恐惧心理——职场人士寓言(15)
  7. 测量高中文理分班、指导高中生文理分科和高考报志愿
  8. 简短励志程序员口号_程序员的简短PSA:关于管理
  9. AVPlayer那些坑
  10. 互动拍照 — 体感抠像拍照