registerReceiver () muestra error por método sobrecargado

Estaba probando Kotlin en mi proyecto de Android. Hay un receptor de transmisión para events de cambio de networking en mi actividad. El código es el siguiente:

BaseActivity.kt

abstract class BaseActivity : AppCompatActivity() { private val networkChangeReceiver = NetworkChangeReceiver() override fun onStart() { super.onStart() registerReceiver( receiver = networkChangeReceiver, intentFilter = IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION) ) } override fun onStop() { super.onStop() unregisterReceiver(receiver = networkChangeReceiver) } } 

NetworkChangeReceiver.kt

 class NetworkChangeReceiver : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { Log.e("network changed") } } 

No veo ningún problema en eso. Pero mi plugin de kotlin me muestra el siguiente error:

No se puede invocar ninguna de las siguientes funciones con arguments suministrados

enter image description here

Los arguments proporcionados para el primero es correcto ASAFIK. No soy un experto en Kotlin, solo lo aprendí por diversión. ¿Es este el comportamiento previsto de Kotlin, error en el complemento o me falta algo? ¿Alguien puede explicar?

Primero, el parámetro se denomina filter y no intentFilter y si lo corrige, obtendrá otro error. Que dice: "Los arguments con nombre no están permitidos para las funciones que no son de Kotlin". La razón de esto es que el método public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter) es de Android y está escrito en Java. Eliminar los nombres debería funcionar bien:

 registerReceiver( networkChangeReceiver, IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION) )