2011-12-14 41 views
2

我正在開發一個android應用程序,我在其中調用webservices。我的問題是,如果我打電話給web服務,並且wifi或GPRS的強度很弱,那麼我的應用程序就會關閉。如何檢測wifi或GPRS信號強度是強還是弱?如何檢測Wifi或GPRS信號強弱或弱

+0

了哪些檢測這一點?你最好仔細研究這個錯誤並找出修復/處理它的方法。 – THelper 2011-12-14 12:52:53

回答

2

首先,確保您的清單中有<uses-permission> for ACCESS_WIFI_STATE。當我收到成功

wifi.startScan(); 

下,:

其次,我不知道有關通知對於單個的連接,但得到的一切無線電是看到通知,你就可以開始掃描結果,我在IntentFilter中使用WifiManager.SCAN_RESULTS_AVAILABLE_ACTION

然後,在接收器中,我使用WifiManager對象中的getScanResults(),它還包含信號強度。

對於以這種方式停止,您只需調用unregisterRecever()(因此您需要保留它以便引用)。我還沒有測試自己,看看我的掃描代碼是否可以修改爲只檢查當前連接,但我知道我得到了很多結果 - Wi-Fi信號頻繁且快速地變化。我想爲了監控一個連接,你也可以過濾掃描結果並尋找設備當前連接的那個。

我希望這會有所幫助。

Android wifi's signal strength

Android: How to monitor WiFi signal strength