2011-09-13 7 views
3

やあみんな、かどうかを検出iPhoneは3Gに無線LANからローミングしているか、またはその逆

は、私は、アプリケーションが3GやWiFi経由で接続されているかどうかを判断するために、到達可能性ステータスのコールバックで到達可能性APIを使用してきました。これは、既存のハードウェアの音声拡張機能として機能し、VoIP APIを使用してバックグラウンドで実行し、通話などを受け付けるアプリケーションです。

到達可能性ステータスコールバックを使用する以外の方法がありますか特定のIPエンドポイントにアクセスできるかどうかを判断する私はASIHTTPRequestを使用して、それがタイムアウトしているかどうかをチェックすることができますが、それは長期的に私にとって潜在的な問題を引き起こす可能性があります。

私はプログラム的な答えを探しているわけではありませんが、永続的な接続があれば、バックグラウンドで両方のローミングを管理する方法について他の洞察力があります。基本的にデバイスが3Gにローミングする場合、私はデバイス上のセッションを破壊する必要があり、それがWifiに戻ってきた場合、セッションを再作成する必要があります。

ご意見やご指摘をお待ちしております。

答えて

0

Reachability APIは接続の変更通知をアプリケーションに提供し、接続がいつWWANからwifiに変更されたかを知ることができます。残念ながら、Edgeから3GまたはLTEに変更しても、それはあなたには言いません。 Reachability APIには、特定のホストへの到達可能性をテストするメソッドもあります。したがって、あなたのアプリケーションでは、接続メソッドが変更されたという通知を聞くことができます。その後、ターゲットホストへのテストの到達可能性が変更され、その時にセッションを再構築するかそのまま残すかを決定します。

関連する問題