android 正式包 从桌面启动 打开闪屏页

app打正式包每次从桌面点击图标都进入闪屏页,而不是还原到上次打开的页面。如果是idea直接编译就不会有这个问题

解决方法,在启动页添加如下代码

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // if(!isTaskRoot()),判断该Activity是不是任务空间的源Activity
        // “非”也就是说是被系统重新实例化出来,如果你就放在launcher
        // Activity中话,这里可以直接return了。
        //避免打正式包每次从桌面进入app都打开启动页
        // 避免从桌面启动程序后,会重新实例化入口类的activity
        if (!this.isTaskRoot()) { // 判断当前activity是不是所在任务栈的根
            Intent intent = getIntent();
            if (intent != null) {
                String action = intent.getAction();
                if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) {
                    finish();
                    return;
                }
            }
        }

        //其他业务代码,如果上面不return,将持续执行下面的代码
        AppExecutors.getInstance().networkIO().execute(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                updateUi();
            }
        });
    }

 

你可能感兴趣的:(Android开发)