即使WiFi和数据网络都可用,我是否可以指示我的网络请求仅使用WiFi?

J. *_* K. 5 mobile networking android

据我所知,硬件/操作系统决定哪个网络将执行我的应用程序的请求,如果MobileData和WiFi网络都打开,请在此处判断:在Android中,如果移动和wifi网络都可用,则使用哪一个?.

这里的评论也是这样说的:https://android.stackexchange.com/questions/57710/how-do-you-determine-if-youre-using-wi-fi-or-lte#comment79856_57919

即使WiFi和数据网络都可用,我是否可以指示我的网络请求仅使用WiFi?

我正在尝试解决此问题:用户有一个设置"不要使用移动数据",如果移动数据开启(可能是收费),应禁止应用程序发送网络请求.

但是,如果对我的链接问题的回答是真的,那意味着如果移动和WiFi都启用,则无法保证WiFi优先于移动设备,移动设备仍会执行请求,并且将向用户收费.

在我的代码中,我检查可用的网络连接类型,如果该设置已启用("不要使用移动数据"),我只会在WiFi为ON且MobileData为OFF时执行请求.如果两者都为ON,我不会执行请求以保护用户免于被收费.

但是,很难向同事解释这一点,所以我在想 - 是否有可能指示我的应用程序的网络请求仅通过WiFi执行,即使WiFi和MobileData同时打开?

PS:我刚刚发现一个完全相反的观点,说明如果MobileData和WiFi都打开,所有请求都将通过WiFi执行:https://android.stackexchange.com/questions/17774/how-can-i-tell- 那,我的手机用途最的Wi-Fi连接,为数据流量

我不确定该相信谁.

编辑:我找到了一些应该完成这项工作的代码片段: 当WIFI开启时通过移动数据发送请求.(Android L)但是我不知道如何测试它们以及它们是否真的做我想做的事情.

如何在两者都启用时使用数据连接而不是WIFI?