コルドバ 3.5 で構成されたプッシュ プラグインhttps://github.com/phonegap-build/PushPlugin.gitがあります。アプリがフォアグラウンドにある場合、通知プラグインのコールバックが呼び出され、すべてが期待どおりに機能します。
アプリが(バックグラウンドで)非アクティブの場合、通知が受信され、通知バーに表示されますが、コールバック関数は呼び出されません。私のコードは、プッシュ プラグインの例に基づいています。以下は、問題を再現するために簡略化された私のコードです。
initialize : function () {
console.info('NOTIFY Ready to register for push notification.');
var pushNotification = window.plugins.pushNotification;
// Register device with push server
pushNotification.register(gcmSuccessHandler, gcmErrorHandler, {
'senderID': GCM_SENDER_ID,
'ecb': 'onNotificationGCM'
});
}
window.onNotificationGCM = function(notification){
//the beep is invoked 3 times only when the app is in foreground
navigator.notification.beep(3);
console.log('EVENT -> RECEIVED:' + notification.event + '');
}
私はこの問題について 1 日以上頭を悩ませてきました。どんな助けでも大歓迎です。
更新: ようやく問題が何であるかがわかりました。dalvik キャッシュをクリアして、電話を再起動する必要がありました。これまでに2回私に起こりました。Android の既知の問題のようですhttps://github.com/phonegap-build/PushPlugin/issues/35。