• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Best WiFi - widget to connect to strongest WiFi signal

aparkin

Member
Dec 21, 2016
58
29
I wrote an app which can be useful if you have multiple WiFi routers at your home or workplace and find that your device does not always connect to the strongest network. The app provides a simple widget you can add to your home screen, when clicked it will attempt to connect to the WiFi network with the strongest signal (the widget displays the current network).

By defauIt the app will only try to connect to saved networks, but you can uncheck the setting "Connect to saved networks only" and the app will connect to any open network (it will still try to connect to a saved network first if "Prefer saved networks" is selected).

Please note that the app requires location services to be switched on (this is a Google requirement) or it will not find any WiFi networks, so if the list of networks is empty check locations are enabled (I'm working on an update that will display a warning if this is detected).

If anyone runs into any problems please let me know and I'll be happy to help.

Google Play link:

https://play.google.com/store/apps/details?id=com.aparkin.bestwifi

App website:
http://www.apdroid.byethost5.com/bestwifi/bestwifi.html
 
I found a problem recently when the widget is used on an Android O (Oreo) device, where the widget would fail to recognise when WiFi was switched on/off. It would update eventually but it's pretty annoying to have the widget showing an incorrect status. It seems to be caused by Android O being a lot more aggressive in killing off background processes to save battery life, so I've released an update to the app which provides an extra "active" widget that aims to work around this and force regular refreshes. The original widget is still available and is probably worth trying first, but if it doesn't work you may want to try the "active" widget. To help test the widgets, both the original and the "active" widget also have a version that displays the time the widget was last updated which can help you determine whether the widget is working or not. I'm happy to investigate any problems that anyone might encounter.
 
Upvote 0
I've received a number of requests / comments saying that it would be better if the app could scan periodically in the background and switch to the strongest WiFi network automatically, rather than just when the app is opened. I've been working on this recently and have it basically working now, but I only want to release this when I'm happy it is reliable. Scanning too frequently could be a big battery drain for example.

If anyone wants to help test this by installing a beta version please let me know and I'll send the details.
 
Upvote 0
I released the update with the background scan to Google Play. I've run it on my device for about 2 weeks and gradually ironed out any bugs I found, but I don't have the resources to test this on every possible phone out there so it's possible some users will find some problems. If you want to try the background scan I recommend starting with these settings initially:

Background scan: on
Background scan interval minutes: 15
Strict schedule: off
Always process scan: off

This will avoid draining your battery by switching too frequently. If these settings work you can always try experimenting with others if you want the scan to run more frequently. A full explanation of all the settings is at this page (you can also find this within the app from the "Help" menu option)

http://www.apdroid.byethost5.com/bestwifi/bestwifi.html#appsettings
 
Upvote 0
This is a general request to anyone thinking of writing a review on Google Play. It is very unhelpful and frustrating for developers when someone gives a 1-star review and leaves a comment like "Doesn't work". Please, please please do not do this. I am always willing to look at problems but in order to fix them I need some details, e.g. a particular error is shown when a button is clicked, or enabling a certain setting results in a network being ignored.

I recently managed to fix a bug because the user who reported it was willing to provide log files and feedback, and over the course of a couple of days I fixed his problem and he was very happy as the app now works really well for him. However, I cannot do anything if you leave a review such as "Not working" with no other details. There may be a simple workaround or a fix for your problem so it's much better to send me an email with some details rather than simply leaving a negative review.

Instructions on how to generate the app's log file are at http://www.apdroid.byethost5.com/bestwifi/bestwifi.html#troubleshooting
 
Upvote 0
Google have basically killed off this app with their new Android 10 restrictions. Apps will no longer be able to query the device for the list of saved WiFi networks, or even switch WiFi on and off, to "protect user privacy". Without these capabilities the app is basically useless. I am so fed up with how Google are ruining Android by constantly making it more and more locked down. If I wanted a locked down device I would have bought an iPhone.

I am seriously considering giving up Android development, it just isn't worth the hassle any more. What is the point on spending countless hours developing an app when there's a good chance it won't work in a future version?

https://developer.android.com/about/versions/10/privacy/changes#configure-wifi
 
Upvote 0
I've decided to unpublish the app from Google Play and just make the APK available on the app website for now. I can't update the version on Google Play as they are rejecting any updates that don't target Android 10, so if you want the latest version you will need to sideload it from this site:

http://www.apdroid.byethost5.com/bestwifi/bestwifi.html#installation

This contains a fix for the issue where the app required file permissions at startup which a number of people have raised.

I don't know how long it will be possible to run this version, but it works fine on my Pixel 4a which is now running Android 11. It seems that as long as I don't update the "target" version it will continue to work, but it's possible that a future version of Android will be unable to run it.
 
Last edited:
  • Like
Reactions: mikedt
Upvote 0
Hello Andrew,

First, thanks for sharing this nice app'. I was a bit disappointed not to find it on Play store before finding your explanation on your website.
I use it to scan in background to choose the best wifi signal, essentially in order to avoid battery consumption (spending one night with bad signal quality seems more consuming thatn scan in the background every 15 minutes, but I'm not sure about it), but also because it's better for navigating of course (but my phone is more often idle than screen on).

I'm on Android 11 (Galaxy S20 FE SnapD.)

My problem/question:
I don't manage to have a reliable background scan.

I know thah Android latest versions have added restrictions, but during my tests, I've disabled "Wi-Fi scan throttling" in developer options, as recommended here: https://developer.android.com/guide/topics/connectivity/wifi-scan
I've also disabled every other Samsung/Android means to put app in sleep.
The widget time shows it refreshes without problem, without using "force refresh widget".
I've obviously enabled option "Background scan".
Now, there are 3 settings staying:
- "background scan interval minutes": I've tried 5 minutes.
- "strict schedule": Enable
- "Always process scan": Enable (at first I thought it was only for Tasker, but it looks like it's more than that, since if I change manually wifi, "Best Wifi" scan and put me back on the (better) previous wifi signal.

With all these options, I though it would scan every 5 minutes (just for test, in the future, I plan to use 10 or 15 minutes). But it is not always the case. I have a sound notification when Best Wifi change network so it's easy for me to verify since I don't hear the notification sound.
I thought it was because screen was off and Best Wifi respected Android idle stuff (Doze ?), but even when screen is on, it looks like it's not regular.
It's strange since the Widget seems always refreshed.

So my best bet would be on Android preventing "Best Wifi" to background scan, but I though disabling "Wi-Fi scan throttling" in developer options would prevent that.
Your opinion (no problem if you don't have time right now and answer in some months) ?
 
Upvote 0
Sorry for late reply, I didn't get a notification that you had posted and I only just noticed your post. The scan is done in a background service and some newer versions of Android (and also some manufacturers) are more aggressive about killing off background services. It might be worth checking the app is not "optimised" (which restricts background usage), for my Pixel this is under Apps, BestWiFi, Battery Usage but it might be in a different place on your phone.

If that doesn't work, if you want to send me the app log file I will take a look and see if I can see anything. My contact details are at http://www.apdroid.byethost5.com/bestwifi/bestwifi.html#feedback
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones