Search code examples
androidnetwork-programmingandroid-wifi

Android - force network requests go through wifi instead of mobile network


I have an app which connects to a hardware device Wi-Fi hotspot. It seems that Android forward requests over other networks (3G/4G for example) instead the hotspot, since my hot spot has no internet connection.

Is there any way to force network stream to work on the wifi? I've come across the following function, but it's deprecated: https://developer.android.com/reference/android/net/ConnectivityManager.html#setNetworkPreference(int)


Solution

  • Per the Connecting your App to a Wi-Fi Device blog post:

    To direct all the network requests from your app to an external Wi-Fi device, call ConnectivityManager#setProcessDefaultNetwork on Lollipop devices, and on Marshmallow call ConnectivityManager#bindProcessToNetwork instead, which is a direct API replacement.