离子1检查应用程序工作时的互联网

时间:2017-04-02 19:22:22

标签: javascript ionic-framework

我在运行应用时尝试检查互联网是否正常工作。它在我的计算机上运行良好但在编译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);
})

问候

2 个答案:

答案 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();
          }
        });
      }
    }

  });
})