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

相关推荐
不急不躁1235 分钟前
Android16 GTS GtsPermissionTestcases 测试,跳过权限检查
android
Jia ming1 小时前
内存架构解析:UMA与NUMA对比
架构
爱内卷的学霸一枚1 小时前
现代微服务架构实践:从设计到部署的深度解析
windows·微服务·架构
迎仔1 小时前
13-云原生大数据架构介绍:大数据世界的“弹性城市”
大数据·云原生·架构
符哥20082 小时前
关于用Android Compose开发成不成熟的分析
android·android jetpack
蜗牛、Z2 小时前
Android 蓝牙/Wi-Fi通信协议之:蓝牙扫描ScanCallback详解
android
黄昏晓x2 小时前
Linux----进程控制
android·linux·运维
我是阿亮啊2 小时前
android中事件分发机制
android·事件分发·事件分发机制
心前阳光3 小时前
Unity 模拟父子关系
android·unity·游戏引擎
2501_915106323 小时前
当 Perfdog 开始收费之后,我重新整理了一替代方案
android·ios·小程序·https·uni-app·iphone·webview