[英]How to check if WiFi connection has internet on Android
我試圖找到一種方法來檢查我當前的 WiFi 連接是否有互聯網。
如果我還打開了移動數據,則使用通常的 ping 選項或嘗試訪問站點將不起作用,因為它會因此返回 true。
檢查hasTransport (來自NetworkCapabilities )
您可以使用值TRANSPORT_WIFI
來測試 WIFI 連接
connection.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)
我也找到了一些要點,希望它們可以幫助你
這是對我有用的代碼。 注意:如果蜂窩數據在您的應用程序中有效,那么您可以將其添加到最后一行。
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.