以编程方式禁用FirebaseMessagingService

问题描述:

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

<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

+3

如果你自己创造,供用户从火力地堡主题的订阅,他们将停止得到通知选项。除非你直接发送给他们的ID –

+0

最简单的解决方案,我没有考虑。谢谢! – user1519979

+1

@HtmlTosin你应该添加作为答案。 :) –

您可以让用户选择取消订阅Firebase主题,他们将停止获取通知。除非你直接发送给他们的ID。

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

,然后取消订阅用户

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