Activity启动模式singleTask模式

Activity启动模式

singleTask模式

单任务栈顶复用模式

我的理解是这个任务等一下我还要用,先停止一下,我用的时候在启动

class FirstActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Log.d("启动",this.toString())
        setContentView(R.layout.first_layout)
//   var button1: Button=findViewById(R.id.button1)
        button1.setOnClickListener {
            //singleTask的启动模式
            val intent1 = Intent(this,SecondActivity::class.java)
            startActivity(intent1)
            //singleTask的启动模式
}
}

 override fun onRestart() {
        super.onRestart()
        Log.d("停止状态变为运行",this.toString())
    }


}

AndroidManifest.xml修改

 <activity
            android:name=".FirstActivity"
            android:launchMode="singleTask"
            android:label="firstActivity">
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>
        </activity>
  override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Log.d("启动",this.toString())
        setContentView(R.layout.second_layoul)

        button2.setOnClickListener{
          val intent = Intent(this,FirstActivity::class.java)
          startActivity(intent)
        }

    }
}

 我们运行一下

启动

FirstActivity

 Activity启动模式singleTask模式

 我们在点击按钮

启动了

SecondActivity

Activity启动模式singleTask模式

 然后在单击

SecondActivity界面的按钮

Activity启动模式singleTask模式

 

从这个@7da23a5打印出来的值就可以看出不是新建了一个Activity

 

上一篇:Android 之 使用 Intent 在活动间传递数据


下一篇:Android实现简单登录界面