簡體   English   中英

當WIFI打開但沒有數據連接時,如何在android中檢查互聯網連接?

[英]How to check the Internet connection in android when WIFI is On but No Data Connection?

嗨,當我從應用程序點擊服務器時,我的應用程序崩潰了,因為我的手機連接到其他手機的 Wifi 熱點,因為移動數據被禁用,如果我檢查 wifi 的連接狀態,它將返回 true,所以我允許點擊服務器並且我的應用程序崩潰了...告訴我如何處理這種情況。

使用此方法檢查您的互聯網是否正常工作

public static boolean hasActiveInternetConnection(Context context) {
        if (isNetworkAvailable(context)) {
            try { 
                HttpURLConnection urlc = (HttpURLConnection) (new URL("http://www.google.com").openConnection());
                urlc.setRequestProperty("User-Agent", "Test");
                urlc.setRequestProperty("Connection", "close");
                urlc.setConnectTimeout(1500); 
                urlc.connect();
                return (urlc.getResponseCode() == 200);
            } catch (IOException e) {
                Log.e(LOG_TAG, "Error checking internet connection", e);
            } 
        } else { 
            Log.d(LOG_TAG, "No network available!");
        } 
        return false; 
    } 

確保您不在主線程上運行此代碼,否則您將收到 NetworkOnMainThread 異常(在 Android 3.0 或更高版本中)。 請改用 AsyncTask 或 Runnable。

暫無
暫無

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

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