мне нужно в моем синглтоне -> контекст. Я знаю, что не могу передать аргумент в конструктор, потому что у объекта нет конструктора.
Затем я вызываю его из класса приложения.
Вот код:
object Singleton { var userAgentInfo: String = UserAgentTools.buildUserAgent(context) fun initializeSdk() { AuthenticatorApiManager.initializeSdk(userAgentInfo) } }
Переместите инициализацию userAgentInfo в метод initializeSDK и отправьте Контекст в качестве аргумента, обязательно отправьте ApplicationContext.
object Singleton { var userAgentInfo: String? = null fun initializeSdk(context: Context) { userAgentInfo = UserAgentTools.buildUserAgent(context) AuthenticatorApiManager.initializeSdk(userAgentInfo) } }
Вы можете использовать контекст в вашем классе Singleton, используя Application экземпляр класса. здесь это
Application
Создайте класс приложения и напишите ниже код.
companion object { private lateinit var sInstance: ApplicationClass fun getInstance(): ApplicationClass { return sInstance } }
Используйте в объекте, как показано ниже.
ApplicationClass.getInstance()