2011-12-14 9 views
2

私はwebservicesと呼ばれるアンドロイドアプリケーションを開発しています。私の問題は、私がwebserviceとwifiまたはGPRSの強さが弱い呼び出しをすると、アプリケーションが強制的に閉じることです。 Wi-FiまたはGPRS信号の強度が強いか弱いかをどのように検出できますか?WifiまたはGPRS信号強度を検出する方法は強く弱いです

+0

これを検出する際のポイントは何ですか?エラーをよく見て、修正/処理する方法を理解することをお勧めします。 – THelper

+0

WifiまたはGPRS信号の強度が強い場合にのみwebservicesを呼びたいWifiまたはGPRS信号の強度が弱い場合、「インターネット接続が低い」というメッセージが表示されます –

+0

強度をチェックした直後に信号が落ちた場合? – THelper

答えて

2

まず、マニフェストに<uses-permission> for ACCESS_WIFI_STATEがあることを確認してください。私が成功した受け取ったとき

wifi.startScan(); 

次に、:

第二に、私は単一の接続の通知についてはよく分からないんだけど、ラジオは見ているすべての通知を取得するには、スキャンを開始することができます結果、私はWifiManager.SCAN_RESULTS_AVAILABLE_ACTIONをIntentFilterで使用しました。

次に、受信機では、WifiManagerオブジェクトのgetScanResults()を使用します。これには信号強度も含まれています。

このように停止するには、単にunregisterRecever()を呼び出します(参照するためには、そのままにしておきたい)。現在の接続を確認するためにスキャンコードを変更できるかどうかは自分で調べていませんが、十分な結果が得られていることはわかります.Wi-Fi信号が頻繁かつ迅速に変更されます。私は単一の接続を監視するために、スキャン結果をフィルタリングし、デバイスが現在接続しているものを探すこともできます。

これが少し助けてくれることを願っています。

Android wifi's signal strength

Android: How to monitor WiFi signal strength

関連する問題