当WiFi和移动设备可用时,强制WiFi发送数据

问题描述 投票:2回答:3

在我的应用程序中,我只有在Wi-Fi可用的情况下才能发送数据。我可以检查wi-fi或移动数据是否可用,但是当wi-fi和移动数据都处于活动状态时,我该怎么办?在这种情况下如何强制使用Wi-Fi?

private static void logNetworkState() {
    ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    NetworkInfo mobile = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

    String logStr = "Network state: ";

    if (wifi.isAvailable()) {
        logStr+= " wi-fi avalibale;";
    }
    if (mobile.isAvailable()) {
        logStr+= " mobile network avaliable";
    }
    log(logStr);
}
android android-networking
3个回答
0
投票

默认情况下,当您同时通过wifi传输两个数据时,我的体验。但是,如果你想要做反之亦然,这种方法可以帮助你setNetworkPreference。


0
投票

要将您应用中的所有网络请求定向到外部Wi-Fi设备,请在Lollipop设备上调用ConnectivityManager#setProcessDefaultNetwork,然后在Marshmallow上调用ConnectivityManager#bindProcessToNetwork,这是直接的API替代品。

查看此博文:https://android-developers.googleblog.com/2016/07/connecting-your-app-to-wi-fi-device.html

© www.soinside.com 2019 - 2024. All rights reserved.