Tested my app with my friends yesterday.
I installed (aka, tape it on my bike using duct tape) a WiFi router on my bike. The model I used was TPLINK TL-WR802N, which was created between 2013 and 2015, and had its latest firmware update in 2018. It only supports 2.4GHz WiFi 4 (300Mbps) so I won't use it when I need maximum security or performance. But it only costs 15 USD with shipping, so what more could I ask for? And it's USB-powered!
Depending on how you position the router, the signal will only reach a maximum of approximately 20 meters. If there are vehicles or large metal objects between the router and clients, then the packets will definitely be lost.
With that said, the app works pretty fine when things are not going wrong. The sound is loud and clear. Based on my friend's feedback, it's better than the WeChat voice call, which I assume benefits from using `MediaRecorder.AudioSource.VOICE_COMMUNICATION` instead of the normal MIC source, which applies voice-related optimizations such as noise reduction. But the app did keep crashing when I was on the road. Luckily, I just need to reinstall it to reset the data.
Anyway, I made some changes based on yesterday's feedback (including fixing the crash) and now I think it's good to go. The only drawback is the app uses audio recording and internet permission, and is signed by meself and not distributed from Google Play. So each time I install or update it, Play Protect will jump out and alarm the user with potential harm. I have already filed a dispute with the Google Play team, but I don't expect much from it.
At least this is the first real useful app I have ever made. *Enjoy my happiness*
Well, the app itself is pretty good, the Android system is not very well.
The router I used is an AP only router. Which means on my bike, without any internet, it offers no internet either. The phone will connect to that wifi, but everything is still offline. So everything including the map apps will stop working.
So you might see it... With my setup, the only working app is my self-made app. Thankfully, I have an OpenStreetMap based app installed on my phone and I use it for cycling navigation. Thank god I have it.
So for the WiFi-on-bike, I would suggest something like roaming/portable Wifi. The one has a built-in 4G or 5G module that allows you to connect the cellular network while offering a wifi AP.
With the cheapest model I found (150Mbps 2.4GHz WiFi 4), I think it can handle at least 10 peers talking at once.
But I have already had a cellular network subscription, and I don't want to make an additional subscription for just providing wifi on my bike, so I'd stick with this TPLINK router.