我的应用程序必须检测到连接到Wi-Fi网络的设备是必需的设备,然后以编程方式通过该Wi-Fi网络发出HTTP请求。我已经搜索过了,但是我没有找到任何方法或课程来帮助我做到这一点。
我想要禁用蜂窝网络,以便HTTP请求将通过Wi-Fi网络,但即便如此,我也没有成功。 此外,我可以以编程方式启用和禁用蜂窝和Wi-Fi网络吗?
答案 0 :(得分:3)
没有办法强迫它使用其中一个。无论使用何种网络,无论是3G还是Wi-Fi(如果连接了Wi-Fi,3G都关闭)。如果您不想根据当前使用的网络执行某些操作,可以检查Wi-Fi是否未连接,如果是这种情况则不执行某些操作,并提示用户。如果启用了谷歌纵横,Google地图会执行与此类似的操作。
WifiManager类有很多方法可能对你有用。
答案 1 :(得分:2)
您可以使用Android中的setNetworkPrefrence(ConnectivityManager.TYPE_WIFI)
ConnectivityManager类
答案 2 :(得分:0)
您可以使用OkHttp和自定义的SocketFactory。有关更多详细信息,请参见https://github.com/square/okhttp/issues/2404。