[android]经常检查互联网连接

标签: Android AngularJS
发布时间: 2017/3/19 1:09:50
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我正在开发 Android 与离子框架,需要再检查 internet 连接,但稳定的应用程序。例如如果用户已登录,然后有没有连接想显示一条消息或任何消息。我原以为像

<div class="bar bar-subheader" id="alerta_no_internet" ng-show="!online">
    <p>Not connected to Internet </p>
</div

他们不做是任何 service 或如果有东西不断向您咨询关于连接。

解决方法 1:

有的打算这几种方法︰

  1. 您可以将存储资产 (也许 1px x 1px GIF 图像) 在您的服务器上并不断为此轮询 (连续请求每个 x 秒)。当然你想要确保此图像不进行缓存。如果请求失败,则可以假定网络不可用。这是很容易实现,但不是有效,因为轮询发送的 HTTP 标头吨过铁丝网。
  2. 这是更有效率 — — 执行 WebSocket 在您的客户端和服务器和打开一个套接字打开应用程序时的连接。如果套接字滴,您可以显示 Connectivity Lost 消息。这并不需要反复发送的 HTTP 请求。这是效率更高,但将要求更多的工作来实现这一点。

你可以写两种离子中的服务。

它是最简单,可以将选项 #1:

setInterval(ajaxCall, 3000); //3000 MS == 3 sec

function ajaxCall() {
  $.ajax('/testConnectivityUrl').then(function(response) {
    console.log("Still connected");
  }, function(err) {
    console.log("Lost connection");
  }
}

我使用 jQuery,但是你可以用香草 JS 或角或离子服务或工厂。

赞助商