How to force the HTTP connection over Wi-Fi instead of cellular in Android?

青春壹個敷衍的年華 提交于 2019-11-29 11:38:07
Robby Pond

There is no way to force it to use one or the other. Whatever network is available is used whether 3G or Wi-Fi (if Wi-Fi is connected 3G is off). If you don't want to do something based on which network is currently in use you can do a check whether Wi-Fi is not connected and don't do some action if that is the case, and prompt the user. Google Maps does something similar to this if Latitude is enabled.

The WifiManager class has a bunch of methods that may be useful to you.

you can go with setNetworkPrefrence(ConnectivityManager.TYPE_WIFI) of the ConnectivityManager class in Android

You can use OkHttp and a custom SocketFactory. See https://github.com/square/okhttp/issues/2404 for more details.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!