我试图让我的Service
(前台服务)类像这样成为一个单例:
object MyClass: Service() {
}
当我这样做时,我无法像这样发送Intent来启动服务:
val mIntent = Intent(this, MyClass::class.java)
mIntent.action = MyClass.ACTION_START_FOREGROUND_SERVICE;
ContextCompat.startForegroundService(this, mIntent)
我得到了一个非法访问异常,如下所示:
Caused by: java.lang.IllegalAccessException: void com.it.gy.MyClass.<init>() is not accessible from java.lang.Class<android.app.AppComponentFactory>
这个异常应该是当类不是公共的时候引起的,但是,object MyClass
在默认情况下应该是这样的。我可以把这个类变成公共的,并且用一个私有的构造函数来实现一个定制的单例,但是,我想尽可能的使用Kotlin语法。我该怎么做呢?
1条答案
按热度按时间tkclm6bt1#
操作系统不支持您所需的内容。
Service
必须是class
,因为Android将希望创建该类的示例。