我在Android应用程序中运行命令行参数,如:
ProcessBuilder pb = new ProcessBuilder(cmds);
Process process = pb.start();
process.waitFor();
其中cmds
是要运行的参数列表。我的命令通过http连接探测远程URL。我的设备连接到无法访问互联网的WiFi网络,但确实托管了我想要探测的网址。我的设备也有一个可以访问互联网的蜂窝连接,但不能访问URL。我的设备运行的是Android 6.0 Marshmallow。
通常在Lollipop或更高版本中,Android默认使用连接到互联网的网络。要在没有互联网的情况下访问WiFi网络,您需要使用NetworkRequest
,例如:https://stackoverflow.com/a/27958106/1847734。
如何将获得的Network
传递给上述Process
,以便连接通过我的WiFi网络,而不是我的蜂窝网络?
我是否需要使用ConnectivityManager#bindProcessToNetwork?如何使用此方法加入设置网络的过程?似乎没有选择给予这个过程。