我开始编写一个 Android 应用程序来执行我的 Web 服务器的后台监控。启用 WiFi 后,一个问题是默认情况下流量是通过它定向的,我希望始终使用 3G 进行 HTTP 请求以检查外部可用性。我知道我可以使用此代码以编程方式禁用 WiFi:
WifiManager wifiManager = (WifiManager)getBaseContext().getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);
但由于它将在后台运行,因此有点笨拙,并且会在检查过程中中断 WiFi 上的其他操作。查看套接字文档,我看不到任何明显的方法来实现这一点。我想知道是否有任何受支持的方法可以在非 root 手机上实现这一点?我可以完全控制服务器,因此协议不必特别是 HTTP。