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