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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…