firebase消息传递服务可以是android:exported =“false”吗?

想确认我们是否可以为例如id服务和消息服务设置
android:exported =“false”.

我通过保持android:exported =“false”进行测试,通知工作正常.

<service
    android:name=".MyFirebaseMessagingService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT"/>
    </intent-filter>
</service>

<service
    android:name=".MyFirebaseInstanceIDService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
    </intent-filter>
</service>

最佳答案 firebase-messaging库以低优先级(-500)导出自己的非专用FirebaseMessagingService.您可以在合并的AndroidManifest.xml中看到它.此服务可以处理带有通知的推送消息,例如您可以通过Firebase控制台发送的消息.

如果未导出您的专用服务类,则系统会将来自Google服务包的邮件路由到此非专业服务,并且通知将正常工作.

但这意味着您无法在接收消息或处理自定义数据有效负载时执行其他操作.

点赞