Ionic.io& Android上的Firebase错误:浏览器已脱机。杀死连接

时间:2015-10-10 16:19:36

标签: android angularjs ionic-framework firebase ionic

Ionic.io平台网络客户端和Firebase之间似乎存在冲突。这只发生在Android上(在浏览器和iPhone上都很好)。

重新创建的步骤:

ionic start test-app
cd test-app
ionic platform add android

安装Firebase

bower install firebase --save

将firebase脚本添加到index.html

<script src="lib/firebase/firebase-debug.js"></script>

启用Firebase日志记录

Firebase.enableLogging(true);

在Dash控制器(controllers.js)中的某些数据上启用Firebase侦听器

.controller('DashCtrl', function($scope) {
    var ref = new Firebase('http://<YOUR-APP>.firebaseio.com');
    ref.on('child_added', function(snap) {
        console.log(snap.val());
    });
})

构建Android项目

ionic build android

安装Ionic.io平台Web客户端(ionic.service.core注入应用程序的Angular模块中。)

ionic add ionic-platform-web-client

模拟

ionic emulate android -l -c

我正在使用带有API 23的Nexus S模拟器。我的测试Android设备,运行Android 4.2.2(API 17)的三星Galaxy GT-S7582 Duos的结果相同。

日志输出包含

p:0: Browser went offline.  Killing connection.  :4354
c:0:1: Closing realtime connection.  :4354
c:0:1: Shutting down all connections  :4354
c:0:1:0 Longpoll is being closed.  :4354
W/IInputConnectionWrapper: showStatusIcon on inactive InputConnection
p:0: data client disconnected  :4354
0: onDisconnectEvents  :4354

在应用的标签页之间切换时,Firebase会重新连接,然后再次断开连接。

当未注入'ionic.service.core'时,断开连接停止。

有没有经历过相同的人? 知道如何避免这些断开连接吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

正如Ionic团队的Eric Bobbitt所建议的,将Firebase引用声明包装到$ ionicPlatform.ready()调用中解决了这个问题。

$c = PAGES_IN_PDF
$t = $c * 200 # plan enough time for slow PCs
Sleep($t)