android10 卸载应用出现回退栈异常问题

打开设置,打开APP1,使用adb uninstall 卸载APP1/或者杀掉APP1进程,没有回到设置而是回到了桌面

  1. 抓取eventlog,查看ams/wms打印,发现"am_focused_stack: appDied leftTaskHistoryEmpty"
  2. 源码中搜索"leftTaskHistoryEmpty",发现ActivityStack中当activity stack清空时会回到launcher
  3. 去掉回到launcher逻辑即可
  4. 对比 android13没有该现象,Android10原生设计逻辑如此,高版本wms和ams逻辑变化较大
java 复制代码
diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java
index d1c767aeb444..0d1fa0507b63 100644
--- a/services/core/java/com/android/server/wm/ActivityStack.java
+++ b/services/core/java/com/android/server/wm/ActivityStack.java
@@ -5450,7 +5450,7 @@ class ActivityStack extends ConfigurationContainer {
                     && mRootActivityContainer.isTopDisplayFocusedStack(this)) {
                 String myReason = reason + " leftTaskHistoryEmpty";
                 if (!inMultiWindowMode() || adjustFocusToNextFocusableStack(myReason) == null) {
-                    getDisplay().moveHomeStackToFront(myReason);
+                    // getDisplay().moveHomeStackToFront(myReason);
                 }
             }
             if (isAttached()) {
相关推荐
CYRUS STUDIO1 小时前
FART 主动调用组件设计和源码分析
android·逆向·源码分析·fart·脱壳
zimoyin6 小时前
kotlin Android AccessibilityService 无障碍入门
android·开发语言·kotlin
韩仔搭建17 小时前
第二章:安卓端启动流程详解与疑难杂症调试手册
android·ui·娱乐
A-花开堪折17 小时前
Android7 Input(七)App与input系统服务建立连接
android
冰糖葫芦三剑客17 小时前
Android 自定义悬浮拖动吸附按钮
android
吃汉堡吃到饱17 小时前
【Android】从Choreographer到UI渲染(二)
android·ui
微信公众号:AI创造财富18 小时前
显示的图标跟UI界面对应不上。
android·ui
aningxiaoxixi18 小时前
安卓 Audio Stream 类型
android
奔跑吧 android18 小时前
【android bluetooth 协议分析 01】【HCI 层介绍 3】【NUMBER_OF_COMPLETED_PACKETS 事件介绍】
android·bluetooth·hci·bt·gd·aosp13
_龙小鱼_21 小时前
Kotlin扩展简化Android动画开发
android·开发语言·kotlin