Automatic switching to the strongest Wi-Fi Access Point Both at home and at work I there are multiple Wi-Fi access points nearby with the same SSID and security settings.

My Samsung GS2 used to switch to the strongest available access point quite quickly. Now that I have ICS 4.0.3 installed it seems that my phone is sticking to the previous access point too long. This causes my network speed to very often be too slow as I'm consistently connected to "the previous hallway".

What are the solutions available to fix this issue? Is there a system setting I've missed? Is there an app that can help?
While not the easiest way around the problem, it is possible to do this using Tasker. This is a program that allows you to script various things within Android (e.g. I have it set to turn off the keyguard when I connect to my home SSID.) The following profile for detecting Wi-Fi signal is quoted from this thread:

Profile: Low WiFi (1)
Event: Display Unlocked  Enter: WiFi (2)  Task: WiFi Sig (1) 
A1: Variable Set [ Name:%wfs To:%WIFII Do Maths:Off Append:Off ] 
A2: Variable Split [ Name:%wfs Splitter:Sig: Delete Base:Off ] 
A3: Variable Clear [ Name:%wfs1 Pattern Matching:Off ] 
A4: Variable Split [ Name:%wfs2 Splitter: Delete Base:On ] 
A5: Variable Set [ Name:%WIFISG To:%wfs22 Do Maths:Off Append:Off ] 
A6: Array Clear [ Name:%wfs2 ]  Task: WiFi (2) 
A1: Write File [ File:wifitest.txt Text:Task start: %DATE %TIME  Append:On ] 
&lt;Signal check&gt; 
A2: Wait [ MS:0 Seconds:15 Minutes:0 Hours:0 Days:0 ] 
A3: Goto [ Type:Action Label Number:1 Label:End ] If [ %SCREEN ~ off ] 
A4: Goto [ Type:Action Label Number:1 Label:End ] If [ %WIFII !~  *CONNECTION* ] 
A5: Perform Task [ Name:WiFi Sig Stop:Off Priority:5 Parameter 1  (%par1): Parameter 2 (%par2): Return Value Variable: ] 
A6: If [ %WIFISG &lt; 3 ] 
A7: WiFi [ Set:Off ] 
A8: Wait [ MS:0 Seconds:0 Minutes:5 Hours:0 Days:0 ] 
A9: WiFi [ Set:On ] 
A10: End If 
A11: Goto [ Type:Action Label Number:1 Label:Signal check ] 
&lt;End&gt; 
A12: Write File [ File:wifitest.txt Text:Task end: %DATE %TIME  Append:On ]


I've never personally done anything that complicated with the Wi-Fi, but the profiles I have set around SSID work like a charm.