如何在 Java 中获取 Koin 的 Android 上下文

How to get Android Context for Koin in Java

我想在 Java 中获取 Koin 的 AndroidContext。 在 Kotlin 中,我会在 startKoin 块中调用 androidContext() https://insert-koin.io/docs/reference/koin-android/dsl/

但是在Java我是这样开始Koin的

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        KoinApplication koin = KoinAndroidApplication
                .create(this)
                .modules(KoinInjectorKt.getKoinInjector());
        startKoin(koin);
    }
}

KoinAndroidApplication

中没有 androidContext() 函数

根据 KDoc

KoinAndroidApplication.create(..) 

Create Koin Application with Android context - For Java compat

它已经在后台使用 androidContext(当您调用 KoinAndroidApplication.create(this) 时),如果您打开 KoinAndroidApplication 的源代码,您将看到:

object KoinAndroidApplication {

    /**
     * Create Koin Application with Android context - For Java compat
     */
    @JvmStatic
    @JvmOverloads
    fun create(context: Context, androidLoggerLevel: Level = Level.INFO): KoinApplication {
        return KoinApplication.init().androidContext(context).androidLogger(androidLoggerLevel)
    }
}