我有一个芯片,上面有一个WiFi模块,它充当接入点。我想要做的是连接到AP (它没有互联网接入),发送一个POST请求到本地地址(http://192.168.4.1/address),并接收来自芯片的响应。我正在编写一个Android应用程序,它应该这样做(而且大部分时间都是这样)。
问题是,我有一个测试设备,它具有这种优化功能,并检查连接到的WiFi网络是否有因特网接入,如果没有,它会自动使用移动数据。我不想那样做,所以我想要“强制”应用程序通过WiFi接口发送它,或者找到解决办法。
我现在使用的是HttpURLConnection,如果我关闭移动数据,它的功能就像一种魅力。否则,它只是等待,并在最后触发超时。
我找了很多关于这个问题,到目前为止我还没有发现任何东西。
发布于 2019-01-18 10:56:56
由于Android5 (API 21),您可以强制连接使用WiFi,即使它不是默认网络。
一种解决方案是找到相应的网络,例如使用ConnectivityManager.getAllNetworks()和ConnectivityManager.getNetworkInfo()。
一旦您拥有了Network,您可以:
Network.openConnection()在此网络上打开连接。ConnectivityManager.setProcessDefaultNetwork或ConnectivityManager.bindProcessToNetwork() (API 23+)将应用程序绑定到网络有关详细信息,请参阅将应用程序连接到Wi设备 (特别是路由网络请求)。
https://stackoverflow.com/questions/54251538
复制相似问题