2012-03-26 30 views

答えて

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); 
+2

これは有望そうです!大変ありがとうございました! Android搭載端末に似たものがあれば、どんなアイデアですか? – AlBirdie

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関数を使用してダウンロードされます

関連する問題