簡體   English   中英

如何在Android上檢查WiFi連接是否有互聯網

[英]How to check if WiFi connection has internet on Android

我試圖找到一種方法來檢查我當前的 WiFi 連接是否有互聯網。

如果我還打開了移動數據,則使用通常的 ping 選項或嘗試訪問站點將不起作用,因為它會因此返回 true。

檢查hasTransport (來自NetworkCapabilities

您可以使用值TRANSPORT_WIFI來測試 WIFI 連接

connection.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) 

我也找到了一些要點,希望它們可以幫助你

檢查 Internet 連接 [API21+][API29+ 支持] 生命周期感知

檢查 Android 設備的連接和 Internet 訪問的類。

這是對我有用的代碼。 注意:如果蜂窩數據在您的應用程序中有效,那么您可以將其添加到最后一行。

    private static boolean isNetworkAvailable(@NonNull Context context) {

    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    Network nw = connectivityManager.getActiveNetwork();
    if (nw == null) return false;
    NetworkCapabilities actNw = connectivityManager.getNetworkCapabilities(nw);
    return actNw != null && (actNw.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) ||
            actNw.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM