关于Activity的launchModel-----处理tok

2021-06-07  本文已影响0人  v587的毅哥

不废话直接上代码,在application里添加如下方法:

class App : Application() {
    companion object {
        lateinit var instance: App
    }

    override fun onCreate() {
        super.onCreate()
        instance = this
    }

    /**
     * 跳转到登录界面(同时关闭当前app里所有已经打开过的activity,前提是你没搞过singleTask和singleInstance这种)
     */
    fun startLoginActivity() {
        startActivity(
            Intent(this, LoginActivity::class.java)
                .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
        )
    }
}

使用:

//任何地方都可调用
App.instance.startLoginActivity()
另外说一下singleTopIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP),懂的人不需要往下看了
再补充一下singleTasksingleInstance

P.S. singleTop其实与standard是兄弟,与跟它长得更像的singleTasksingleInstance更疏远(疏远是指应用场景,singleTasksingleInstance基本是用作跨app使用,singleTopstandard一般是在本app内需求使用)。

上一篇下一篇

猜你喜欢

热点阅读