我正在开发一个应用程序,它将在手机上运行,并且手机将成为私人Wi-Fi网络上的一个站点。手机将充当一个站点,而不是接入点,并且私人WiFi网络不会路由到互联网。我的应用程序需要同时与互联网上的服务器以及本地WiFi网络上的设备进行通信,因此它需要同时连接两个网络。我一直在尝试找出如何做到这一点。
我一直在尝试使用谷歌Android开发者组讨论中描述的技术,标题为“Android 2.X能否同时连接3G和Wifi数据网络?”,但它效果不佳。我发现,当我调用
ConnectivityManager.setNetworkPreference(ConnectivityManager.TYPE_MOBILE)
启用蜂窝网络时,任何已经打开的WiFi网络上的sockets都会被关闭。虽然我没有尝试过,但我怀疑当我切换回WiFi时,蜂窝网络上的sockets也会发生同样的情况。
另一个问题是,这些调用在全局级别操作,改变整个手机的网络设置,而不仅仅是应用程序。像这样全局性地切换网络设置会干扰手机上正在运行的任何其他应用程序。即使在我的应用程序退出后,手机仍然以它设置的最后一个网络配置继续运行。
我正在寻找一种方式,可以同时在蜂窝数据和WiFi网络上打开连接,而不会干扰手机上运行的其他应用程序。
- 有谁知道如何做到这一点吗?
- 有人知道这是否可能吗?