这是我的项目文件夹结构。
应用/
FCM /
FcmMessagingService.class
FcmRegistrationService.class
谷歌,services.json
Android系统的Manifest.xml
的Android的Manifest.xml
<service android:name=".fcm.FcmRegistrationService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
<service android:name=".fcm.FcmMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
库(子模块)/
FCM /
LibMessagingService.class
LibRegistrationService.class
Android系统的Manifest.xml
的Android的Manifest.xml
<service android:name=".fcm.LibRegistrationService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
<service android:name=".fcm.LibMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
通过上面的实现,我只能从应用程序的服务类中捕获INSTANCE_ID_EVENT和MESSAGING_EVENT。库模块中的firebase服务类根本没有被触发。
当收到firebase消息时,是否可以同时触发Application和Library模块中的服务类?
答案 0 :(得分:0)
我没有任何问题在库模块上实现它。 我刚刚在库中实现了所有服务,并在客户端清单中声明它们。这就是我的项目的样子:
google-services.json文件位于客户端应用目录中。
客户端build.gradle文件位于apply plugin: 'com.google.gms.google-services'
答案 1 :(得分:0)
太让它工作我也必须在Lib清单和App清单中注册库服务。试图找出实际需要的东西
`<service
android:name="com.libPackage.FCMService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>`