zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

android强制指定某个网卡通信

Android网卡通信 指定 某个 强制
2023-09-14 09:04:18 时间
  在wifi开启时,强制通过手机网络发送请求

须知

  1. Android 5.0(LOLLIPOP)以上,在同一时间下,Android系统则可以允许多网络类型连接,在这样子的前提下,你就可以选择究竟采用那种网络来完成你的请求。在Android 5.0(LOLLIPOP)之前,在同一时间下,Android系统只能允许一种网络类型连接,所以只支持5.0以上系统。

  2. 部分机型可能受定制限制,网络强制切换不了。

  3. 调用requestNetwork方法,并没有像官网描述那样,立即采用移动网络进行请求,而是在我手动关闭wifi之后,系统切换到移动网络的时候才会请求。所以尽量使用registerNetworkCallback方法。

具体实现

通过以下几步动态选择和连接网络:

创建 ConnectivityManager。
创建android.net.NetworkRequest对指定的网络和传输需要类型。
搜索合适的网络,调用 ConnectivityManager.requestNetwork()或者ConnectivityManager.registerNetworkCallback(),传入NetworkRequest 和实现ConnectivityManager.NetworkCallbackListener接口。
当系统查出一个合适网络时。就会连接该网络,回调NetworkCallbackListener.onAvailable(),回调中获取android.net.Network对象,调用ConnectivityManager.bindProcessToNetwork(Network)方法(API小于23调用ConnectivityManager. se