Android如何实现仅WiFi下联网

Android如何全局实现仅WiFi下联网,在设置中有个swith,用来控制开关

开启wifi不会关闭移动网络,只是连接上wifi后,网络通道默认走wifi通道,但是可以设置,优先走移动网络通道,有adb命令:
svc wifi prefer
这个是默认的状态,有wifi就是wifi优先。
svc data prefer
这个使移动数据连接比wifi优先。有移动数据开启的话先用移动数据,没有就用wifi。
另外开启/关闭 wifi 和移动数据的命令
svc data enable/disable
svc wifi enable/disable

可以再BaseActivity中写一个判断Switch的函数,每次进入时判断一下,然后根据状态显示Dialog,根据用户点击选择之后的逻辑。

你判断当前网络状态是不是wifi,不是wifi就不执行网络请求