URLMonitor не обнаруживает, когда Интернет не доступен во Flex
public static var iStatus:Boolean;
public static function initMonitor():void
{
var url:URLRequest = new URLRequest('http://www.nature.com') ;
url.method = "HEAD";
_monitor = new URLMonitor(url);
_monitor.addEventListener(StatusEvent.STATUS, announceStatus);
_monitor.pollInterval = 1000;
_monitor.start();
}
public static function announceStatus(event:StatusEvent):void
{
if(_monitor.available)
{
iStatus=true;
}
else
{
iStatus=false;
}
}
Проблема в том, что когда я изначально запускаю приложение без подключения к интернету, оно возвращает статус false
, Если я включаю интернет, он возвращает статус true
, Но если я снова отключу интернет-соединение, оно не вернет статус false
, В этот момент он не входит в announceStatus
метод.
Я думаю announceStatus
должен вызываться каждый раз, когда интернет-соединение включается или выключается, но это не работает так. Любые предложения будут полезны.
1 ответ
public static var iStatus:Boolean;
public static function initMonitor():void
{
NativeApplication.nativeApplication.addEventListener(Event.NETWORK_CHANGE, onNetworkChange);
onNetworkChange();
}
protected function onNetworkChange(e:Event):void
{
_monitor = new URLMonitor(new URLRequest('http://www.nature.com'));
_monitor.addEventListener(StatusEvent.STATUS, announceStatus);
_monitor.pollInterval = 1000;
_monitor.start();
}
public static function announceStatus(event:StatusEvent):void
{
if(_monitor.available)
{
iStatus=true;
}
else
{
iStatus=false;
}
}