美文网首页
APP 退出再打开,不重复启动开屏页

APP 退出再打开,不重复启动开屏页

作者: Eren丶耶格尔 | 来源:发表于2018-12-07 15:21 被阅读0次

    目的

    APP 应用中,每次退出程序再次打开,或者按 Home 键回到桌面时,都会再次展示开屏页,这使用户体验极差,特别是那种眼睁睁看着读秒的开屏页


    实现

    第一步:

    在启动页的 Activity 中的 onCreate() 方法中填写如下代码:

    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        // 避免从桌面启动程序后,会重新实例化入口类的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;
                }
            }
        }
    }   
    
    第二部:

    MainAcitivity 的启动模式设置为 SingleTask 代码如下所示:

    <activity
        android:name=".activity.StartActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".activity.MainActivity"
        android:launchMode="singleTask"
        android:screenOrientation="portrait" />
    
    第三部:

    处理 MainAitivityonKetDonw 方法中添加 moveTaskToBack(true) ,使程序进入后台而不退出

        /**
         * 键盘控制两次点击退出
         */
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK
                    && event.getAction() == KeyEvent.ACTION_DOWN) {
                if ((System.currentTimeMillis() - exitTime) > 2000) {
                    toast("再按一次退出程序");
                    exitTime = System.currentTimeMillis();
                } else {
                    // 不退出程序,进入后台
                    moveTaskToBack(true);
                }
                return true;
            }
            return super.onKeyDown(keyCode, event);
        }
    

    相关文章

      网友评论

          本文标题:APP 退出再打开,不重复启动开屏页

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