簡體   English   中英

如何知道互聯網連接是否存在?

[英]How to know that internet connection is there or not?

要檢測互聯網是否已連接,我使用以下代碼:

             public boolean netConnect(Context ctx)
            {

                ConnectivityManager cm;
                NetworkInfo info = null;
                try
                {
                    cm = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
                    info = cm.getActiveNetworkInfo();
                }
                catch (Exception e)
                {

                    e.printStackTrace();
                }
                if (info != null)
                {
                    return true;

                }
                else
                {
                    return false;
                }
            }

哪個工作得很好。

但我想知道,當應用程序從服務器下載一些文件時,互聯網連接是否會消失(我的意思是介於這個過程之間)是否有檢測到並顯示互聯網連接丟失或弱的情況?

您必須在所有Activities使用BroadcastReceiver 我最終為此寫了一個超級課程。

現在,每當我編寫一個App我都不會擴展Activity ,我總是擴展一個我創建的虛擬類,說MyActivity 這樣,只要需求發生變化,我只會更改MyActivity並更新所有類。

對於您的特定情況,我編寫了一個超類,可從以下網址獲得: https//github.com/sfarooq/A-droid-lib/查看network包中的ConnectedActivity類。 它會在連接丟失時顯示一個對話框,並在連接恢復時將其解除。 要使用它,只需在所需的Activities擴展ConnectedActivity 要在整個應用程序中使用它,我建議如上所述制作自己的超類,並擴展ConnectedActivity以便以后能夠更改內容(如果您想稍后添加自定義對話框和菜單也很有用,您只需要將它添加到你的超級班級)。

有特殊的系統操作,通知應用程序有關更改Internet訪問狀態的信息。 要獲得它,您需要創建BroadcastReceiver 有關詳細信息,請參閱問題。

暫無
暫無

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

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