我在运行应用时尝试检查互联网是否正常工作。它在我的计算机上运行良好但在编译apk并在我的智能手机上运行应用程序后,此代码无法正常工作;你能救我吗?
.run(function($window, $rootScope) {
console.log($cordovaNetwork.getNetwork());
$rootScope.online = navigator.onLine;
$window.addEventListener("offline", function() {
$rootScope.$apply(function() {
$rootScope.online = false;
});
}, false);
$window.addEventListener("online", function() {
$rootScope.$apply(function() {
$rootScope.online = true;
});
}, false);
})
问候
答案 0 :(得分:1)
在Android设备上使用navigator.onLine
并不是一种好习惯。每个设备使用不同版本的Chromium,在某些设备上,它将无法按预期工作。
我建议您使用调用原生 API的org.apache.cordova.network-information插件获取网络信息(优势)
答案 1 :(得分:0)
您可以使用cordova网络插件(Cordova Network Plugin)。使用可以使用下面的代码
.run(function($ionicPlatform, $ionicPopup) {
$ionicPlatform.ready(function() {
// Check for network connection
if(window.Connection) {
if(navigator.connection.type == Connection.NONE) {
$ionicPopup.confirm({
title: 'No Internet Connection',
content: 'Sorry, no Internet connectivity detected. Please reconnect and try again.'
})
.then(function(result) {
if(!result) {
ionic.Platform.exitApp();
}
});
}
}
});
})