美文网首页
App启动时,按HOME键退到后台,从近期任务中无法启动应用

App启动时,按HOME键退到后台,从近期任务中无法启动应用

作者: 我该怎么 | 来源:发表于2019-01-09 09:49 被阅读0次

问题描述

​ App的启动页一般做法都是停留几秒后自动的关闭自己,跳转的新的页面。如果在App在启动页停留时内退到后台,如果此时启动页自动关闭且跳转的新的页面时,从最近任务列表中启动App,程序会造成程序无法启动的问题。

问题分析

​ 系统的近期任务列表保存的应该是App最后一个显示的Activity信息,当最后一个显示的Activity关闭时,就会造成在近期任务列表中无法启动的问题

解决方法

简单的做法是,如果当前App在后台,且需要关闭自己时,设置一个标志位,不执行关闭的操作,返回到前台时再执行关闭操作。代码如下

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class SplashActivity extends AppCompatActivity {
    /**
     * 用来标识是否进入后台
     */
    private boolean mIsOnPause;
    /**
     * 用来标识是否需要关闭当前页面
     */
    private boolean mIsFinish;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        //如果当前是从后台回到前台,且需要关闭当前页面时,执行关闭操作
        //否则重置标准位
        if (mIsOnPause && mIsFinish) {
            mIsOnPause = false;
            finish();
            return;
        }
        mIsOnPause = false;
    }

    @Override
    protected void onPause() {
        super.onPause();
        mIsOnPause = true;
    }

    @Override
    public void finish() {
        //如果当前是不可交互状态,不关闭页面,而是将关闭标识位设置位true
        if (!mIsOnPause) {
            mIsFinish = false;
            super.finish();
        } else {
            mIsFinish = true;
        }
    }
}

源码探索

//todo

相关文章

  • App启动时,按HOME键退到后台,从近期任务中无法启动应用

    问题描述 ​ App的启动页一般做法都是停留几秒后自动的关闭自己,跳转的新的页面。如果在App在启动页停留时内退到...

  • AppDelegate中各种方法的使用条件及使用方式

    程序刚刚启动时依次调用以下方法: 连按两次Home键,进入预览界面: 按下Home键进入主界面,应用程序进入后台:...

  • iOS APP生命周期

    面对每次打开iOS应用时.都是否想到过其App运行过程:从启动到按Home键回到主屏幕,从运行中到按两下Home键...

  • iOS App生命周期初识

    面对每次打开iOS应用时.都是否想到过其App运行过程:从启动到按Home键回到主屏幕,从运行中到按两下Home键...

  • iOS 13系统的一个bug

    我的手机是13.3.1,swift写的App在Xcode中运行,按Home键退到后台后,Xcode的Output窗...

  • app冷热启动的优化

    冷启动:后台没有该应用的进程 暖冷启动:后台有该应用的进程,如通过按返回键和home键退出应用,后台还保留该进程。...

  • APP按下HOME键退到后台再次进入不重启的解决方法

    一:需求描述 app按下home键后退到后台后,过段时间再次进入前台不让app重启 二:解决思路和方法 1:在后台...

  • 启动优化

    启动优化 启动时间 冷启动:App启动时,应用程序不在系统中,需要系统分配新的进程来启动应用热启动:App退回后台...

  • App 生命周期

    一、App生命周期 AppDelegate 类实现文件 打印调用顺序 启动程序 按下Home键,程序进入后台 从后...

  • APP专项测试-性能测试

    启动时间 冷启动 进程首次创建 热启动 进程通过点击Home键等进入后台,并未杀死再次启动; 启动时间脚本化 方法...

网友评论

      本文标题:App启动时,按HOME键退到后台,从近期任务中无法启动应用

      本文链接:https://www.haomeiwen.com/subject/cnhurqtx.html