展锐Android13版本开启手势导航后,打开一些应用退出时会出现闪烁

手势返回会收到客户端的一个callback,部分应用如电话和计算器callback返回值为-1,导致流程不同。

原生逻辑会对这种特殊情况做进一步判断,并添加部分动画效果导致异常。

目前可以仅针对如果是返回到home这种情况(减少影响),做拦截规避此问题。

diff --git a/services/core/java/com/android/server/wm/BackNavigationController.java b/services/core/java/com/android/server/wm/BackNavigationController.java

old mode 100644

new mode 100755

index d07cc68af890..18b86e843d08

--- a/services/core/java/com/android/server/wm/BackNavigationController.java

+++ b/services/core/java/com/android/server/wm/BackNavigationController.java

@@ -245,6 +245,9 @@ class BackNavigationController {

         }

       }

       infoBuilder.setType(backType);

+      if (backType == BackNavigationInfo.TYPE_RETURN_TO_HOME) {

+        return infoBuilder.build();

+      }

       prevTaskId = prevTask != null ? prevTask.mTaskId : 0;

       prevUserId = prevTask != null ? prevTask.mUserId : 0;

你可能感兴趣的:(展锐android,Android,手势)