参考博客:Android 9.0 应用显示宽高比maxAspectRatio使用部分应用半屏问题_wq892373445的博客-CSDN博客
直接贴修改点:
--- a/frameworks/base/core/java/android/content/pm/PackageParser.java
+++ b/frameworks/base/core/java/android/content/pm/PackageParser.java
@@ -4738,8 +4738,9 @@ public class PackageParser {
private void setMaxAspectRatio(Package owner) {
// Default to (1.86) 16.7:9 aspect ratio for pre-O apps and unset for O and greater.
// NOTE: 16.7:9 was the max aspect ratio Android devices can support pre-O per the CDD.
- float maxAspectRatio = owner.applicationInfo.targetSdkVersion < O
- ? DEFAULT_PRE_O_MAX_ASPECT_RATIO : 0;
+ //float maxAspectRatio = owner.applicationInfo.targetSdkVersion < O
+ // ? DEFAULT_PRE_O_MAX_ASPECT_RATIO : 0;
+ float maxAspectRatio = 0;
if (owner.applicationInfo.maxAspectRatio != 0) {
// Use the application max aspect ration as default if set.
diff --git a/frameworks/base/services/core/java/com/android/server/wm/ActivityRecord.java b/frameworks/base/services/core/java/com/android/server/wm/ActivityRecord.java
index 9656b18..17d0aac 100755
--- a/frameworks/base/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/frameworks/base/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -3092,7 +3092,7 @@ public final class ActivityRecord extends ConfigurationContainer {
// TODO(b/36505427): Consider moving this method and similar ones to ConfigurationContainer.
private void computeBounds(Rect outBounds, Rect containingAppBounds) {
outBounds.setEmpty();
- final float maxAspectRatio = info.maxAspectRatio;
+ final float maxAspectRatio = 0;//info.maxAspectRatio;
final ActivityStack stack = getActivityStack();
final float minAspectRatio = info.minAspectRatio;