日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

啟動Activity但是不顯示界面

作者:會游泳的貓! 更新時間: 2022-08-30 編程語言

方法一:

參考鏈接

方法二:

1.在Application類中定義一個變量,例如:

public class BaseApplication extends Application {
...
    public static boolean isFirstLaunch = true;
...
}

2.使用Activity.moveTaskToBack(true)將Activity退至后臺

//在Activity中通過“isFirstLaunch”變量判斷是否是第一次啟動activity,是就把activity退至后臺

import static xxx.Application.isFirstLaunch;

@Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        handler = new UiHandler(this);
    }

@Override
    protected void onStart() {
        super.onStart();
        if (isFirstLaunch) {
            LogUtil.info(TAG, "first launch");
            isFirstLaunch = false;
            handler.sendMessageDelayed(MessageUtil.createMsg(3), 100);
        }
    }

static class UiHandler extends Handler {
        WeakReference<MainActivity> mActivity;

        UiHandler(MainActivity activity) {
            mActivity = new WeakReference<>(activity);
        }

        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            MainActivity mainActivity = mActivity.get();
            String strMsgSr = "";
            if (msg.obj != null) {
                strMsgSr = msg.obj.toString();
            }
            switch (msg.arg1) {
                case 3:
                    LogUtil.info(TAG, "exit auto when first boot");
                    mainActivity.moveTaskToBack(true);             //在activity中調用 moveTaskToBack (boolean nonRoot)方法即可將activity 退到后臺,注意不是finish()退出
                    break;
            }
        }
    }

原文鏈接:https://blog.csdn.net/ABCDEF123236/article/details/126593065

欄目分類
最近更新