Intent Flag启动模式P203

Activity启动模式:点此查看

      Intent intent = new Intent();
        /**
         * Intent.FLAG_ACTIVITY_NEW_TASK
         * 使用一个新的Task来启动一个Activity,但启动的每个Activity将都在一个新的Task中。
         * 该Flag通常使用在从Service中启动Activity的场景,由于在Service中并不存在Activity栈,所以使用
         * 该Flag来创建一个新的Activity栈,并创建新的Activity实例
         */
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        /**
         * Intent.FLAG_ACTIVITY_SINGLE_TOP
         * 与指定android:launchMode="singleTop"效果相同
         */
        intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

        /**
         * Intent.FLAG_ACTIVITY_CLEAR_TOP
         * 与指定android:launchMode="singleTask"效果相同
         */
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

        /**
         * 使用这种模式启动Activity,当改Activity启动其他Activity后,改Activity就小时了,不会保留在Activity栈中。
         * 例如:A-B,B中以这种模式启动C,C在启动D,则当前Activity栈为ABD。
         */
        intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
        startActivity(this,nextActivityName.class);

 

posted on 2016-07-13 14:42  Z2  阅读(194)  评论(0编辑  收藏  举报

导航