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

相关推荐
TimeFine17 小时前
Android AI解放生产力(一):开始使用Codex Cli
android
CloudWeGo18 小时前
Volo 新能力:面向易用性与性能的 HTTP & RPC 框架迭代
架构
^_scv_^18 小时前
QEMU-RISCV平台opensbi代码分析(2)
linux·架构·risc-v
狗哥哥18 小时前
企业级 HTTP 客户端架构演进与设计
前端·架构
_李小白19 小时前
【Android FrameWork】第三十三天:Camera视频流写入SurfaceView的机制
android
csj5019 小时前
安卓基础之《(4)—Activity组件(2)》
android
前端阿森纳19 小时前
公司是否因为AI正在从“以人为本”走向“以核心数据集为本”?
架构·aigc
小宝哥Code19 小时前
区块链(Blockchain)—— 概念、架构与应用
架构·区块链
0x派大星19 小时前
深入解析 Uniswap:自动做市商模型的数学推导与智能合约架构
架构·区块链·智能合约·uniswap
a努力。19 小时前
网易Java面试被问:偏向锁在什么场景下反而降低性能?如何关闭?
java·开发语言·后端·面试·架构·c#