Adobe Air - Проверьте подключение к интернету - PullRequest
3 голосов
/ 12 марта 2012

Я создаю приложение Air с Adobe Flash CS 5. Мне нужно проверить, доступно ли подключение к Интернету.

Я сталкиваюсь с этой ошибкой:

1172: определение air.net не найдено. 1046: Тип не найден или не является константой времени компиляции: URLMonitor.

Это мой код:

import air.net.*;

var monitor:URLMonitor;

function checkInternetConnection(e:Event = null):void
{
var url:URLRequest = new URLRequest("http://www.google.com");
url.method = "HEAD";
monitor = new URLMonitor(url);
monitor.pollInterval = 3000;
//
monitor.addEventListener(StatusEvent.STATUS,onConnection);
//
function onConnection(e:Event = null):void
{
trace("onConnection")
}
//
monitor.start();
trace(monitor)
} 

Чего не хватает? Благодарю. Ули

Ответы [ 5 ]

10 голосов
/ 12 марта 2012

Привет! Я успешно использовал следующий код.

Вам нужно только импортировать: import air.net.URLMonitor;

protected function init():void
        {
            // Center main AIR app window on the screen
            nativeWindow.x = (Capabilities.screenResolutionX - nativeWindow.width) / 2;
            nativeWindow.y = (Capabilities.screenResolutionY - nativeWindow.height) / 2;
            // Detects a general change in network status
            NativeApplication.nativeApplication.addEventListener(Event.NETWORK_CHANGE,onNetworkChange);
        }

        //Checking for network connectivity
        protected function onNetworkChange(e:Event):void
        {
        //  Alert.show("Your Network State changed", "INFO");
            monitor = new URLMonitor(new URLRequest('http://www.adobe.com'));
            monitor.addEventListener(StatusEvent.STATUS, netConnectivity);
            monitor.start();
        }

        protected function netConnectivity(e:StatusEvent):void 
        {
            if(monitor.available)
            {
                Alert.show("Status change. You are connected to the internet", "INFO");
            }
            else
            {
                Alert.show("Status change. You are not connected to the internet", "INFO");
            }

            monitor.stop();
        }
7 голосов
/ 12 марта 2012

Вам необходимо добавить aircore.swc

Перейдите в Файл-> Настройки ActionScript

На вкладке «Путь к библиотеке» нажмите значок + (Добавить новый путь), а затем нажмите кнопку Flashicon (Browse To SWC).

Затем вам нужно перейти к месту, где установлен Flash CS5, перейти к AIK2.5 / frameworks / libs / air / и выбрать aircore.swc

3 голосов
/ 30 ноября 2012

В классе NetworkInfo есть событие networkChange: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetworkInfo.html

1 голос
/ 12 марта 2012

В {Flash_CS5_installation_path}/AIR{air_version}/frameworks/libs/air вы можете найти * .swc файлы, которые вам нужно включить в ваше приложение. О «Как включить» читайте здесь .

0 голосов
/ 12 марта 2012

У вас есть следующие классы для вашего приложения:

import air.net. *;

т.е. рядом с вашим файлом .fla находится каталог с именем 'air'.

...