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

相关推荐
工程师老罗35 分钟前
Android笔试面试题AI答之非技术问题(1)
android·人工智能
云云3213 小时前
解锁手机矩阵的流量密码:云手机的奇幻之旅
服务器·线性代数·智能手机·矩阵·架构·facebook
我明天再来学Web渗透3 小时前
【2024年-10月-8日-开源社区openEuler实践记录】深度分析 Gala-Gopher:革新分布式系统运维的开源力量
运维·开发语言·分布式·架构·开源·开源软件
程序猿方梓燚3 小时前
跨年烟花C++代码
android·开发语言·c++
我明天再来学Web渗透6 小时前
【2024年-11月-30日-开源社区openEuler实践记录】dde_autotest_euler:守护桌面体验的智能测试利器
运维·开发语言·架构·开源·开源软件
找方案6 小时前
应急指挥系统总体架构方案
架构·应急指挥
凯文的内存6 小时前
Android recovery菜单页面选项定制
android·recovery·recovery菜单
JermeryBesian6 小时前
Flink源码解析之:如何根据JobGraph生成ExecutionGraph
android·java·flink
车载诊断技术7 小时前
电子电器架构 --- 智能座舱与AI结合
人工智能·安全·架构·汽车·整车区域控制器
贵州数擎科技有限公司7 小时前
Three.js 中的四元数:理解与应用
前端·架构