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

相关推荐
duyinbi75173 小时前
大核瓶颈架构改进YOLOv26扩大感受野与多尺度特征提取双重突破
yolo·架构
闫小甲3 小时前
Spring Cloud Gateway vs Apache APISIX:统一网关与鉴权方案深度对比
微服务·架构·apisix·ssg
Surmon6 小时前
基于 Cloudflare 生态的 AI Agent 实现
前端·人工智能·架构
黑臂麒麟11 小时前
openYuanrong:多语言运行时独立部署以库集成简化 Serverless 架构 & 拓扑感知调度:提升函数运行时性能
java·架构·serverless·openyuanrong
段娇娇11 小时前
Android jetpack LiveData(一)使用篇
android·android jetpack
XiaoLeisj12 小时前
Android Jetpack 页面架构实战:从 LiveData、ViewModel 到 DataBinding 的生命周期管理与数据绑定
android·java·架构·android jetpack·livedata·viewmodel·databinding
leonkay12 小时前
Golang语言闭包完全指南
开发语言·数据结构·后端·算法·架构·golang
独自破碎E14 小时前
前后端分离+微服务架构下的用户认证
java·面试·架构
设计Z源14 小时前
Scratch 3.0 技术架构全解析与二次开发实战
架构
Yungoal14 小时前
B/S和C/S架构在服务端接收请求
c语言·开发语言·架构