デバイスがどの接続タイプを使用しているかを判断する必要があります。 WIFIと3Gの区別は、iOS(NetworkInfo ANEを使用)とAndroid(ネイティブNetworkInfoクラスを使用)では問題ではないようですが、高速(3G、4G)と低速(EDGE)接続。 Adobe Airでこれを行う方法はありますか?Adobe Air - 接続がWIFI、3G、またはEDGEであるかどうかを検出します
9
A
答えて
13
は、iOS上で無線LAN対モバイルを検出するためにこれを試してみてください。これは、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);
0
解決策があるのであれば、私は気にしませんが、ファイルをダウンロードするときには、ダウンロードされたバイトと総バイト数の比に合わせて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;
}
+0
理論上、モバイル接続が安定している場所では、3Gネットワークも安定していますブリッジの下、または3GがEDGEに落ちる可能性がある高層ビルの間)、接続速度をチェックするためにファイルを絶えずダウンロードする必要があります。本当に実用的ではない。私の回避策は、私のプッシュメカニズムをモバイルネットワークに完全にドロップし、ポーリングに移行することです。安定した3G接続がプッシュされたデータのための十分な速さであるけれども非常にいいです。 – AlBirdie
0
が必要です...それが動作するかどうか...知らんがソリューションを直接解だが、あなたは、ファイルをダウンロードしているとき場合は、速度をチェックすることができますファイルがロードされたバイトと合計バイト数の比でgetTimer関数を使用してダウンロードされます
関連する問題
- 1. キャリア接続タイプ(3G/EDGE/GPRS)を検出
- 2. Adobe AIR Extension for Dreamweaverがタイムスタンプサーバーに接続できません
- 3. Adobe AIRパッケージャはどのように動作しますか?
- 4. Adobe Air - アプリケーションアップデータ
- 5. iOS 3GまたはWiFiを検出
- 6. TCP/IP接続があるかどうかをチェックし、WiFiまたは3Gの場合 - Windows Mobile 6.5 - C/C++
- 7. Adobe AIRとiPhone - どのように動作しますか?
- 8. Adobe AIR、メモリリーク
- 9. Adobe AIRサンプルアプリケーション?
- 10. Adobe AIR - コントロールスキャナ
- 11. Adobe Air stop();
- 12. Adobe AIR readLine
- 13. Adobe Air - Analytics
- 14. Adobe Flex/Air ServerSocket:ソケットソケットクラスからのリモート接続
- 15. Adobe Air Database
- 16. Adobe AirがiOS10のサーバーに接続できない
- 17. Adobe AIR - RTMFPエラー
- 18. Adobe AIRインストーラ自体にはどのようにAIRが必要ですか?
- 19. Adobe Air(FlexまたはHtml)アプリケーションアーキテクチャ
- 20. Adobe Air - MySQLまたはSQLite
- 21. Adobe AIR - キャプティブランタイム
- 22. Adobe AIR - フルスクリーン/ディスプレイ
- 23. Adobe AIRにAdobe AIR
- 24. Adobe AIR ADTコマンド
- 25. WifiとEdge/3GとcomponentsSeparatedByString(NSString)
- 26. CodeSignの検証に失敗しました - Adobe Flash AIR iOS
- 27. Adobe AIR用にUnrarはありますか?
- 28. Adobe air http auth
- 29. Adobe AIRクライアント側とJava VMデバッグインタフェースを接続するにはどうすればよいですか?
- 30. Adobe AirのソケットとSSL
これは有望そうです!大変ありがとうございました! Android搭載端末に似たものがあれば、どんなアイデアですか? – AlBirdie