Мне удалось решить мою проблему с помощью BroadcastReceiver.Для этого решения мы должны добавить к нашему синглтону место, где нам понадобится вызов функции из этих строк:
Intent intent = new Intent();
intent.setAction("btn_task"); // name of your filter
intent.putExtra("url", 1);
context.sendBroadcast(intent); // here you won't need context but I have to use it from singleton
, затем мы создадим переменную для действия:
lateinit var receiver: BroadcastReceiver
затем мы присвоим значение:
val filter = IntentFilter("btn_task") // we will filter all intents with our filter
, а затем мы должны создать и зарегистрировать наш получатель:
receiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
workingWithBtn(intent.extras.getInt("url"))
}
}
registerReceiver(receiver, filter)
удалить получателя, когда активность будет уничтожена:
override fun onDestroy() {
super.onDestroy()
unregisterReceiver(receiver)
}
Может быть, это поможет кому-то еще.Удачи:)