我们可以在android中的服务类中进行构造函数注入吗



这是我的服务类

class MyFirebaseMessagingService @Inject constructor(private val repository : Repository) :
FirebaseMessagingService() {....}
class Repository @Inject constructor(private val apiService: ApiService) {}

ApiService是接口

问题出在应用程序首次发布时。此应用程序崩溃,出现以下消息

java.lang.RuntimeException: Unable to instantiate service com.projects.driverapp.MyFirebaseMessagingService: java.lang.InstantiationException: java.lang.Class<com.projects.driverapp.MyFirebaseMessagingService> has no zero argument constructor

但在这次崩溃之后,在应用程序的第二次发布时,这个项目运行良好,没有崩溃,根本原因是什么?

文档说服务需要用@AndroidEntryPoint进行注释,而服务通常需要一个0参数的构造函数,因此可以用startService()来启动它们。

尝试用@AndroidEntryPoint注释ApiServiceMyFirebaseMessagingService类,对于MyFirebaseMessagingService,仅尝试字段注入。希望这能帮助

最新更新