赞
踩
在wifi开启时,强制通过手机网络发送请求
须知
Android 5.0(LOLLIPOP)以上,在同一时间下,Android系统则可以允许多网络类型连接,在这样子的前提下,你就可以选择究竟采用那种网络来完成你的请求。在Android 5.0(LOLLIPOP)之前,在同一时间下,Android系统只能允许一种网络类型连接,所以只支持5.0以上系统。
部分机型可能受定制限制,网络强制切换不了。
调用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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。