Firebase 消息服务是否可以使用 android:exported= "false" ?



喜欢确认我们是否可以设置android:exported="false",例如ID服务和消息服务。

我通过保持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 Console发送的通知。

如果您的专业服务类未导出,则系统将将消息从Google服务软件包路由到此无专业服务,并且通知将正常工作。

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

您应该导出服务,以确保按照@Guest

指定的类处理。
<service 
    android:name=".services.MyFirebaseMessagingService"
    android:exported="true">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

相关内容

  • 没有找到相关文章

最新更新