Many Android smartphones (like the widespread high-end models Samsung Galaxy S7 and S8) are unable to maintain a stable wifi connection in a multi-AP-same-SSID environment. They will not "roam" from one access point (AP) to another as you move through the covered area, but only connect to another AP once they have lost connection with the previous one. Even if you don't move around, your phone might stick to a weak AP, you might not receive push notifications, and your battery will drain with all the necessary retransmits. These problems have been known for years, but the manufacturers just won't fix them. (It is not Android's fault.)
WifiFixer periodically checks whether the currently used AP has become weak; if yes, it will scan for others that provide the same service (i.e. have the same SSID), and if there are better ones available it will cause the phone to switch to one of them -- seamlessly. Contrary to the normal behavior, the phone will not lose the wifi connection and establish it again after a few seconds (causing apps to see a network failure).
It is important to understand that this app will not help with all devices; on some it may even worsen the situation and lead to longer disconnects. If this is the case then please uninstall the app.
The free version of the software is fully functional, but will occasionally remind you that a license needs to be purchased for continuous use. No ads!
In case you are wondering why the app needs location access permission: Android will not let apps scan for wifi networks unless they may access your location, seemingly because Google believes that everyone -- like themselves -- regards access points as location beacons. We do not determine your location, and we do not transmit anything anywhere.