IntentService(kotlin)的默认构造函数

我是新的Kotlin和intentService一点点堆栈。 清单显示我的错误,我的服务不包含默认的构造函数,但内部服务看起来不错,没有错误。

这是我的意图服务:

class MyService : IntentService { constructor(name:String?) : super(name) { } override fun onCreate() { super.onCreate() } override fun onHandleIntent(intent: Intent?) { } } 

我也尝试了另一个变种:

 class MyService(name: String?) : IntentService(name) { 

但是当我尝试运行这个服务时,我仍然得到一个错误:

 java.lang.Class<com.test.test.MyService> has no zero argument constructor 

任何想法如何修复Kotlin中的默认构造函数?

谢谢!

正如这里所解释的,你的服务类需要有无参数的构造函数。 在例子中改变你的实现:

 class MyService : IntentService("MyService") { override fun onCreate() { super.onCreate() } override fun onHandleIntent(intent: Intent?) { } } 

IntentService上的Android文档声明这个名字只用于调试:

name String :用于命名工作线程,仅用于调试。

虽然没有明确说明,在所提到的文档页面上,框架需要能够实例化你的服务类,并期望会有一个无参数的构造函数。