豆豆波 2023-03-09 22:18 采纳率: 0%
浏览 16
已结题

Android Framework

需求:
在某种场景下调用Task类的moveTaskToBack()方法将当前显示的应用全部退到后台,在另一种场景下调用Task类的moveTaskToFront()方法将之前退到后台的应用全部显示到前台。

问题:
有时应用无法显示到前台,查看后台Task,发现没有显示到前台的task还存在,经过加日志调试发现问题发生时Activity的onRestart()方法没有被调用。

  • 写回答

2条回答 默认 最新

  • 霸都小魔女 2023-03-09 22:21
    关注

    小魔女参考了bing和GPT部分内容调写:
    在调用moveTaskToBack()方法将当前显示的应用全部退到后台时,应该检查Activity的onStop()方法是否被正确调用,以确保应用能够正确退到后台,而不是被系统杀死。

    在调用moveTaskToFront()方法将之前退到后台的应用全部显示到前台时,应该检查Activity的onRestart()方法是否被正确调用,以确保应用能够正确显示到前台,而不是被系统杀死。

    为了确保应用能够正确退到后台和正确显示到前台,可以在调用moveTaskToBack()和moveTaskToFront()方法前后分别添加如下代码:

    // moveTaskToBack()方法前
    if (isTaskRoot()) {
        finish();
    }
    
    // moveTaskToFront()方法后
    if (isTaskRoot()) {
        startActivity(new Intent(this, MainActivity.class));
    }
    

    回答不易,记得采纳呀。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月16日
  • 创建了问题 3月9日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上