2016-02-22 52 views
1

我目前正在使用MeteorJS的移動推送通知(android)。我現在用的是包:MeteorJS移動應用推送通知在後臺

https://github.com/katzer/cordova-plugin-local-notifications

它正常工作時,應用程序已打開,但收盤時沒有任何反應。有沒有辦法使用這個包來使推送通知即使在應用程序關閉或最小化時也能工作?有流星的替代包可以做背景推送通知嗎?到目前爲止,這是我的代碼:

if(Meteor.isCordova){ 

    Meteor.startup(function() { 
    cordova.plugins.notification.local.registerPermission(function (granted) { 
     if(confirm("Sample App would like to send you notifications: ") === true) { 
     alert('permission granted '+granted) 
     } else { 
     alert('permission denied') 
     } 
    }); 

    }); 

    Template.hello.events({ 
    'click button': function() { 
     var msg = $('[name=msg]').val(); 
     cordova.plugins.notification.local.add({ title: 'This is a sample push', message: msg }); 
    } 
    }); 
}; 

一個非常直接的代碼,只有在應用程序打開時纔有效。我對背景通知的實際工作方式無能爲力。謝謝

回答

1

這是因爲您還沒有爲通知創建schedule。如果應用程序沒有運行,那麼您編寫的用於執行插件的代碼將不會運行,除非計劃這樣做,因此一旦應用程序加載並授予權限,就會創建後臺進程。

cordova.plugins.notification.local.add({ 
    title: 'This is a sample push', 
    message: msg }); 

要:

從更改通知的初始化

date = foo; //change this to when you want the notification to fire 
      //for the first time 

cordova.plugins.notification.local.**schedule**({ 
    id: 1, 
    title: 'this is a sample push', 
    message: msg, 
    firstAt: date, 
    every: 'minute' //set this to how often you want it repeated. 
)}; 

什麼結束了發生的事情是模板初始化的通知不上它應該是怎樣運行的任何其他參數。如果您需要進一步的幫助,在軟件包文檔中對此進行了全面的說明。

+0

非常感謝你的回答,我會盡力解決你的問題。 –

+0

沒問題!一定要接受答案,如果它最終爲你工作,祝你好運! :) – TylerCompiler

+0

它在Android上正常工作,但在iOS上它沒有:) –