Métodos estáticos como en la aplicación de Android con kotlin

Estoy intentando agregar un método "estático" a mi class MyApplication en kotlin. He agregado (como propiedad) la variable:

private var context: Context? = null 

en método:

 override fun onCreate() 

Yo añadí:

 context = applicationContext 

luego agrego un object complementario como este

 companion object { @JvmStatic fun getMyApplicationContext(): Context? { return MyApplication().context } } 

cuando llamo a este método desde otras partes de la aplicación como MyApplication.getMyApplicationContext() siempre devuelve null. He recogido todo esto de varias fonts, pero no estoy seguro de si es correcto o no.

Parece que quieres un object de context de aplicación global. Ahora, dejando de lado mi disgusto por las variables globales, creo que eres muy cercano.

Creo que solo necesita agregar la variable en el object complementario de las classs MyApplication y usarla directamente. Solo necesita la anotación @JvmField si va a acceder al campo desde Java.

 class MyApplication { companion object { @JvmField var context: Context? = null // Not really needed since we can access the variable directly. @JvmStatic fun getMyApplicationContext(): Context? { return context } } override fun onCreate() { ... MyApplication.context = appContext } }