以编程方式禁用FirebaseMessagingService

时间:2016-11-14 11:51:41

标签: android firebase firebase-cloud-messaging

我使用Firebase接收推送通知。我的问题是我想为可用的用户提供一个选项,他们可以禁用这些通知。

<application android:label="MyApp" android:theme="@android:style/Theme.NoTitleBar" android:icon="@drawable/ico_myapp_application">
    <receiver android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver" android:exported="false" />
    <receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
            <category android:name="${applicationId}" />
        </intent-filter>
    </receiver>
    <!-- END Manual Firebase Additions -->
</application>

有没有办法阻止应用注册/创建FirebaseMessagingService

1 个答案:

答案 0 :(得分:2)

您可以为用户选择取消订阅Firebase主题,他们会停止收到通知。除非您将其直接发送到他们的身份证上。

FirebaseMessaging.getInstance().subscribeToTopic("news");

然后取消订阅用户

FirebaseMessaging.getInstance().unsubscribeFromTopic("news");