this
относится к this
самой непосредственной включающей функции, которая в данном случае является вашей Runnable. Используйте this@MyActivity
, чтобы указать свой внешний класс активности, где MyActivity
- имя этого класса.
Необходимо использовать runOnUiThread
не по той причине, по которой вы его пытались, а потому, что вы не можете запустить действие из фонового потока.
Кстати, Kotlin предоставляет некоторые функции расширения и преобразования SAM, которые могут сделать ваш код более читабельным:
Timer().schedule(2000L) {
runOnUiThread {
startActivity(Intent(this@MyActivity, HomeScreenActivity::class.java))
finish()
}
}