Во-первых, не создавать действия непосредственно конструктором .Активность имеет свой жизненный цикл, и это ОС, которая управляет им.Единственный правильный способ инициализации Activity - это использование Intent (но я думаю, что это не то, что вы хотите здесь сделать).
Кроме того, не пытайтесь сохранять активность в любом поле (это приводит к утечкам памяти).Если бы я предложил решение, я бы предложил использовать функцию расширения (потому что вы можете проверить соединение в любом классе Context, а не только в этом):
fun Context.checkInternet() {
/* your code here, to use context use this */
val cm = this.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
/* some code here */
}
Когда вы объявляете эту функцию, вы можете использовать еев любом классе контекста (например, Activity, Fragment и т. д. - они являются подтипами контекста).Теперь, как его использовать?
class MyActivity(): Activity() {
fun foo() {
this.checkInternet()
}
}