Android 12 is a massive update. Not only does it bring a radical design overhaul, but it’s also packed with a plethora of new features and improvements that will greatly improve the way we interact with our Android devices. Along with these marquee features, Android 12 also brings a number of smaller quality of life changes.
One such small yet useful improvement coming with Andriod 12 is the ability to maintain simultaneous Wi-Fi connections to a peer device and Wi-Fi router. If you have ever tried setting up a Chromecast or Google Home device with your phone, you have probably noticed that your phone needs to first disconnect from the Internet-providing Wi-Fi network during the setup process. Then, your device initiates a peer-to-peer Wi-Fi connection with the IoT device and after completing setup, reconnects to the Internet-providing Wi-Fi network.
For example, here are a few screenshots showing off the setup process for a Google Nest Mini in the Google Home app. As you can see, the Nest Mini creates a “temporary Wi-Fi network” that the phone connects to during setup. During this time, the main Wi-Fi network is disconnected, which means your phone is disconnected from the Internet unless you have mobile data turned on.
The reason this happens is that Android currently doesn’t support connecting to both a peer device and the primary Internet-providing network (your Wi-Fi) at the same time. But that will change with Android 12.
Starting with Android 12, devices that support concurrent peer-to-peer and Internet connections can maintain both connections. In other words, your phone shouldn’t get disconnected from your home Wi-Fi when setting up a smart home device. But there’s a catch. This feature will only be enabled for apps targeting API level 31 and higher. Apps targeting earlier versions of Android will not be able to take advantage of the concurrent connection and will be subject to the legacy behavior, meaning your device will be disconnected from your Wi-Fi network before connecting to a peer-to-peer device.
This won’t be an issue for Google Home and Chromecast devices since the Google Home app will most likely be updated to take advantage of this feature shortly after or before the Android 12 public release. However, if you’re using IoT products from Amazon or other OEMs, you might have to wait for them to update their apps with Android 12 support.
For developers, Google recommends migrating away from the WiFiManager.getConnectionInfo() API and instead use the NetworkCallback.onCapabilitiesChanged() API. The former has been deprecated in Android 12 and new features such as the ability to mask out location-sensitive data will not be supported via this API.