Kotlin:如何在绑定程序中返回正在运行的服务实例?

我有工作的Java代码,并尝试将其转换为Kotlin

 class MyService : Service() { companion object MyBinder : Binder() { fun getService() : MyService? { return MyService::class.objectInstance } } // service implementation } 

问题是,在活动getService()总是返回null。 我确信这个service是以前开始的,我在logcat中看到它。 我建议这个从Java代码自动生成的行应该是不同的,但我找不到解决方案:

 return MyService::class.objectInstance 

在Java代码中是:

 return MyService.this 

下面的代码将帮助你

 class MyService : Service() { inner class MyBinder : Binder() { fun getService() : MyService? { return this@MyService } } // service implementation } 

有关Kotlin 此表达式中的此表达式的更多信息