moveStackToTaskDisplayArea方法详解

基于Android R版本分析

在Android R的move-stack接口中,我们发现在moveStackToTaskDisplayArea方法中,Android R相较于Android S缺少了一个stack.resumeNextFocusAfterReparent();逻辑的调用,而这个逻辑的实现功能,就是恢复当前TaskDisplayArea中Top Task的生命周期状态和visible状态;

在resumeNextFocusAfterReparent()方法中执行了3个逻辑:

  • adjustFocusToNextFocusableTask
  • resumeFocusedStacksTopActivities
  • ensureActivitiesVisible

resumeNextFocusAfterReparent

这个方法是Android R中缺省的一个方法,需要开发者自己在Task类中实现该方法的逻辑(参考Android S);

csharp 复制代码
void resumeNextFocusAfterReparent() {
    adjustFocusToNextFocusableTask("reparent", true /* allowFocusSelf */,
                                   true /* moveDisplayToTop */);
    mRootWindowContainer.resumeFocusedStacksTopActivities();
    mRootWindowContainer.ensureActivitiesVisible(null /* starting */, 0 /* configChanges */,
                                                 !PRESERVE_WINDOWS);
}

上述方法中涉及到的三个方法都是Android R中已经存在的,可以直接调用即可;

adjustFocusToNextFocusableTask

resumeFocusedStacksTopActivities

ensureActivitiesVisible

相关推荐
用户497242617329336 分钟前
Amazing:基于 Agent-Teams 的 AI 协同开发范式,让团队效率提升 10 倍
架构
吾日三省Java3 小时前
Spring Cloud架构下的日志追踪:传统MDC vs 王炸SkyWalking
java·后端·架构
lizhongxuan4 小时前
AI小镇 - 涌现
算法·架构
锋风7 小时前
远程服务器运行Android Studio开发aosp源码
android
偷油师傅7 小时前
拆解 OpenClaw - 06:安全模型
架构
测试工坊7 小时前
Android UI 卡顿量化——用数据回答"到底有多卡"
android
椰子皮啊7 小时前
一次视频会议的“生命旅程”:从点击加入到大屏相见,Mediasoup 背后发生了什么?
架构
itslife7 小时前
前端架构模式思考
前端·架构
Maxkim7 小时前
前端工程化落地指南:pnpm workspace + Monorepo 核心用法与实践
前端·javascript·架构
Lee川1 天前
深度拆解:基于面向对象思维的“就地编辑”组件全模块解析
javascript·架构