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

相关推荐
Java烘焙师17 分钟前
架构师必备:业务扩展模式选型
mysql·elasticsearch·架构·hbase·多维度查询
掘金-我是哪吒19 分钟前
分布式微服务系统架构第157集:JavaPlus技术文档平台日更-Java多线程编程技巧
java·分布式·微服务·云原生·架构
恋猫de小郭21 分钟前
Google I/O Extended :2025 Flutter 的现状与未来
android·前端·flutter
@Ryan Ding38 分钟前
MySQL主从复制与读写分离概述
android·mysql·adb
掘金-我是哪吒1 小时前
分布式微服务系统架构第155集:JavaPlus技术文档平台日更-Java线程池实现原理
java·分布式·微服务·云原生·架构
DemonAvenger1 小时前
TCP连接池设计与实现:提升Go应用网络性能
网络协议·架构·go
移动开发者1号1 小时前
Android 同步屏障(SyncBarrier)深度解析与应用实战
android·kotlin
移动开发者1号1 小时前
深入协程调试:协程调试工具与实战
android·kotlin
森焱森8 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
雨白10 小时前
Jetpack系列(三):Room数据库——从增删改查到数据库平滑升级
android·android jetpack