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

相关推荐
斯~内克1 小时前
深入解析前端 JSBridge:现代混合开发的通信基石与架构艺术
前端·架构
小天努力学java1 小时前
【软考-架构】15、软件架构的演化和维护
架构
androidwork2 小时前
Kotlin与机器学习实战:Android端集成TensorFlow Lite全指南
android·机器学习·kotlin·tensorflow
ALex_zry3 小时前
程序运行报错分析文档
android·c++
投笔丶从戎4 小时前
Kotlin Multiplatform--04:经验总结(持续更新)
android·开发语言·kotlin
stevenzqzq4 小时前
kotlin flow的写法
android·kotlin·flow
悠哉清闲4 小时前
Kotlin 协程 (三)
android·开发语言·kotlin
androidwork4 小时前
在 Android 中实现支持多手势交互的自定义 View(Kotlin 完整指南)
android·kotlin·交互
悠哉清闲4 小时前
Kotlin 协程 (二)
android·开发语言·kotlin
androidwork4 小时前
使用 ARCore 和 Kotlin 开发 Android 增强现实应用入门指南
android·kotlin