Atul Chambyal
Atul Chambyal

Reputation: 77

How to detect Wifi or GPRS signal strength is strong or weak

I am developing an android application in which I call a webservices. My problem is that if I make a call to the webservice and the wifi or GPRS strength is weak, then my application force close. How can I detect if the wifi or GPRS signal strength is strong or weak?

Upvotes: 2

Views: 3542

Answers (1)

Padma Kumar
Padma Kumar

Reputation: 20041

First, make sure you have <uses-permission> for ACCESS_WIFI_STATE in your manifest.

Second, I'm not sure about notifications for a single connection, but to get notifications of everything the radio is seeing, you can start a scan:

wifi.startScan();

Next, when I've received successful results, I used WifiManager.SCAN_RESULTS_AVAILABLE_ACTION in the IntentFilter.

Then, in the receiver, I use getScanResults() from the WifiManager object, which also contains the signal strength.

For stopping it this way, you simply call to unregisterRecever() (so you'll want to keep it around for referencing). I haven't tested myself to see if my scanning code can be modified to just check the current connection, but I do know I got plenty of results -- Wi-Fi signals change frequently and quickly. I suppose for monitoring a single connection, you can also just filter the scan results and look for the one the device is currently connected to.

I hope this helps a little.

Android wifi's signal strength

Android: How to monitor WiFi signal strength

Upvotes: 2

Related Questions