Мне нужно определить, какой тип подключения используется устройством. Отличия между WIFI и 3G, похоже, не проблема в iOS (с использованием NetworkInfo ANE) и Android (с использованием собственного класса NetworkInfo), но я не знаю, как отличить быстрый (3G, 4G) и медленное (EDGE) соединение. Есть ли способ сделать это с помощью Adobe Air?Adobe Air - обнаружение, если соединение WIFI, 3G или EDGE
ответ
Попробуйте для обнаружения Mobile по сравнению с Wi-Fi на IOS. Для этого требуется Adobe родное расширение «NetworkInfo»
import com.adobe.nativeExtensions.Networkinfo.InterfaceAddress;
import com.adobe.nativeExtensions.Networkinfo.NetworkInfo;
import com.adobe.nativeExtensions.Networkinfo.NetworkInterface;
var vNetworkInterfaces:Object;
if (flash.net.NetworkInfo.isSupported)
{
vNetworkInterfaces = getDefinitionByName('flash.net.NetworkInfo')['networkInfo']['findInterfaces']();
mytrace("fall 1");
}
else
{
vNetworkInterfaces = getDefinitionByName('com.adobe.nativeExtensions.Networkinfo.NetworkInfo')['networkInfo']['findInterfaces']();
mytrace("fall 2");
}
var hasWifi: Boolean = false;
var hasMobile: Boolean = false;
for each (var networkInterface:Object in vNetworkInterfaces)
{
if (networkInterface.active && (networkInterface.name == "en0" || networkInterface.name == "en1")) hasWifi = true;
if (networkInterface.active && (networkInterface.name == "pdp_ip0" || networkInterface.name == "pdp_ip1" || networkInterface.name == "pdp_ip2")) hasMobile = true;
mytrace("active: " + networkInterface.active);
mytrace("displayName: " + networkInterface.displayName);
mytrace("name: " + networkInterface.name);
mytrace("hwAddress: " + networkInterface.hardwareAddress);
mytrace("--------------------");
}
mytrace("has Mobile Internet: " + hasMobile);
mytrace("has Wifi Internet: " + hasWifi);
Я не знаю, есть ли решение для прямого решения, но когда вы загружаете файл, вы можете проверить скорость загрузки файла, используя функцию getTimer в сочетании с загруженными байтами и отношением общих байтов.
Пример
function init()
{
startTime = getTimer();
loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoaderInit);
loader.load("some-site.com/myasset.png");
}
function onLoaderInit(e:ProgressEvent)
{
$timePassed = (getTimer() - startTime) * 0.001; //it's in millisecounds convert to secounds
$newBytes = loader.contentLoaderInfo.bytesLoaded - oldBytes;
var $rate:Number = $newBytes * $timePassed; //returns a value of bytes per sec.
startTime = getTimer();
oldBytes = loader.contentLoaderInfo.bytesLoaded;
}
Теоретически, когда мобильное соединение стабильно, вы можете это сделать, но учитывая, что даже сети 3G не являются стабильными (подумайте о том, под мостом или между высокими зданиями, где 3G может упасть до EDGE), вам придется постоянно скачивать файл, чтобы проверить скорость вашего соединения. Не очень практично. Моим обходным решением было бы полностью отказаться от механизма push в мобильных сетях и перейти к опросу. Не очень приятно, хотя стабильное 3G-соединение достаточно быстро для выталкивания данных. – AlBirdie
Nice ... если он работает ... Не знаю, если есть решение прямое решение, но когда вы скачиваете файл, который вы можете проверить скорость, с которой файл загружается с использованием функции getTimer в сочетании с загруженными байтами и отношением общих байтов
- 1. Wifi vs. Edge/3G и componentsSeparatedByString (NSString)
- 2. Если Adobe Air ANE влияет или противоречит Adobe Air
- 3. Adobe AIR: обнаружение en_GB locale
- 4. Приложение HANGS UP, если используется соединение 3G (WiFi в порядке)
- 5. Определить тип подключения несущей (3G/EDGE/GPRS)
- 6. Обнаружение, если компьютер использует мобильное соединение (3G/EDGE/GPRS) в Windows
- 7. Определение 3G vs Edge
- 8. Обнаружение фокуса окна в Adobe AIR
- 9. Обнаружение, если ADOBE установлен
- 10. Обнаружение кодирования видео с использованием Adobe air
- 11. Android 3g wifi одновременно
- 12. iphone скачать с использованием 3G или Wifi
- 13. Adobe Air - MySQL или SQLite
- 14. iOS 3G и WiFi-соединения
- 15. BroadcastReceiver при изменении сети WIFI или 3G
- 16. Обнаружение соединения 3G/wifi с использованием только IP
- 17. Adobe Flex/Air ServerSocket: удаленное соединение с классом Socket
- 18. Adobe AIR на iPhone
- 19. Как обнаружить мобильное соединение 2G/3G/WIFI с помощью javascript
- 20. Wifi/3g в Android-эмуляторе
- 21. если утверждения в adobe edge/javascript
- 22. Обнаружение, если соединение установлено
- 23. adobe edge embed
- 24. Включите/выключите WIFI с помощью Flex Mobile/Adobe AIR
- 25. Как создать расширенные функции, если Adobe AIR используется, например, Adobe?
- 26. Adobe Edge Animate & PhoneGap
- 27. iphone wifi/проблемы с подключением 3G-соединения
- 28. Adobe Air Security Aspect
Это выглядит многообещающе! Большое вам спасибо за это! Любые идеи, если что-то подобное для Android-устройств? – AlBirdie