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'时,断开连接停止。
有没有经历过相同的人? 知道如何避免这些断开连接吗?
感谢您的帮助!
答案 0 :(得分:1)
正如Ionic团队的Eric Bobbitt所建议的,将Firebase引用声明包装到$ ionicPlatform.ready()调用中解决了这个问题。
$c = PAGES_IN_PDF
$t = $c * 200 # plan enough time for slow PCs
Sleep($t)