2015-04-16 165 views
0

我已經開始使用parse.com在我的應用程序中接收推送通知。Parse.com android - 禁用推送通知

它完美的工作,但我有幾個問題。

我們進行登記,但是未使用的通道,具體如下:

ParsePush.subscribeInBackground("", new SaveCallback() { 
      @Override 
      public void done(ParseException e) { 
       if (e == null) { 
        Log.d("dmode", "Oks!"); 
       } else { 
        Log.e("dmode", "Fail :(", e); 
       } 
      } 
     }); 

我的第一個問題是:

我找不到任何辦法來禁用接收推送通知 我搜索的官方文檔和計算器,但我找到不適合我的解決方案。 我想:

ParsePush.unsubscribeInBackground("", new SaveCallback() { 
    @Override 
    public void done(ParseException e) { 
     if (e == null) { 
      Log.d("dmode", "unsuscribe oks"); 
     } else { 
      Log.e("dmode", "unsuscribe fail", e); 
     } 
    } 
}); 

未成功,我也嘗試:

ParsePush.unsubscribeInBackground(""); 

...但不工作。

我沒有使用渠道

,這就是爲什麼引號是空的:

ParsePush.subscribeInBackground("", new SaveCallback() { //... 

如何啓用和禁用推送通知?

第二個查詢是,有時會在同一設備上同時接收重複通知,直到兩次三次。 有人一樣嗎?

非常感謝您的幫助。

問候!

+0

你是什麼意思,它不起作用?保存回調是否返回異常,或者根本不返回? – StenSoft

+0

檢查我的回答http://stackoverflow.com/a/31091355/2311651爲同一個問題,請。 – GrafOrlov

回答

1

我想你應該使用默認頻道的名稱,即使你不使用頻道而不是空字符串「」。 也可以看看這裏Parse Question

我從答案引用上面的鏈接

如果你叫PushService.setDefaultCallback,把它再次傳遞null作爲類。

+0

我有同樣的問題,我也看到[答](https://parse.com/questions/disable-push-notification-service),但實際上該方法不存在於[文檔] (https://www.parse.com/docs/android/api/com/parse/PushService.html),似乎被稱爲非常相似的唯一方法是['setDefaultPushCallback'](https:// www。 parse.com/docs/android/api/com/parse/PushService.html#setDefaultPushCallback(android.content.Context,%20java.lang.Class)),但它已被棄用......那麼我們現在應該做什麼? –

+0

如果它被棄用或不存在,這意味着你沒有第一次給它打電話,對吧?然後就忽略這一步。只需使用ParsePush.unsubscribeInBackground(「channelname」);你應該沒事 –

+0

是的,但問題是,我沒有使用頻道,因爲我只做廣播推送通知(總是服務器到設備)...如果我已經實現了一個接收器類擴展'ParsePushBroadcastReceiver'我應該重寫什麼方法避免在Android設備上顯示通知? –