我的应用程序的另一个主要问题是,除非应用程序暂停,否则大约50%的启动没有Firebase连接。所以我会:
代码:
var onPause = function(){console.log("paused");}
var onResume = function(){console.log("resumed");}
document.addEventListener("pause", onPause, false);
document.addEventListener("resume", onResume, false);
var connectionRef = new Firebase(FB + "/.info/connected");
connectionRef.on("value", function(snap){
if(snap.val() == true){
console.log("connected -------[]------");
} else {
console.log("not connected --------[ ]------------");
}
});
日志:
resumed
not connected --------[ ]------------
paused
connected -------[]------
resumed
not connected --------[ ]------------
paused
connected -------[]------
它工作一半的原因是因为它也以相反的方式工作,我认为这是预期的方式。有什么方法可以防止它断开连接吗?或者强制它在简历上连接?
答案 0 :(得分:0)
我找到了问题的原因 - 这是一个名为phonegap-plugin-push的插件。当它注册GCM时,它会导致Firebase脱机(如果暂停则联机)。
我仍然没有找到真正的解决方案,但作为一个黑客修复,我有一个注册GCM的计时器,所以数据可以在断开连接之前加载。之后,它依赖于用户长时间不使用该应用程序,因此可以暂停以定期同步。