仅通过 WiFi 接口发送 POST 请求

Send a POST request only through WiFi interface

我有一个带有 WiFi 模块的芯片,它充当接入点。我想做的是连接到 AP(无法访问互联网),向本地地址 (http://192.168.4.1/address) 发送 POST 请求并接收来自芯片的响应。我正在编写一个 Android 应用程序,它应该可以做到这一点(大部分时间都是如此)。

问题是,我有一个测试设备,它具有此优化功能,可以检查您连接的 WiFi 网络是否可以访问互联网,如果没有,它会自动使用移动数据。我不想这样,所以我想 "force" 应用程序通过 WiFi 接口发送它或找到解决方法。

我目前使用 HttpURLConnection,如果我关闭移动数据,它会非常有效。否则它只是等待并在最后触发超时。

关于这个问题我已经搜索了很多,但到目前为止我一无所获。

自 Android 5 (API 21) 起,您可以强制连接使用 WiFi,即使它不是默认网络。

一种解决方案是找到相应的网络,例如 ConnectivityManager.getAllNetworks() and ConnectivityManager.getNetworkInfo():

获得 Network 后,您可以:

有关详细信息,请参阅Connecting your App to a Wi-Fi Device(尤其是路由网络请求)。