2016-11-14 102 views
1

我正在使用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你應該添加作爲答案。 :) –

回答

2

您可以讓用戶選擇取消訂閱Firebase主題,他們將停止獲取通知。除非你直接發送給他們的ID。

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

,然後取消訂閱用戶

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