Android手機中判斷是否連網可以通過 ConnectivityManager 類的isAvailable()方法判斷,首先獲取網路通訊類的實例 ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); ,使用cwjManager.getActiveNetworkInfo().isAvailable(); 來返回是否有效,如果為True則表示當前Android手機已經連網,可能是WiFiGPRSHSDPA等等,具體的可以通過ConnectivityManager 類的getActiveNetworkInfo() 方法判斷詳細的接入方式

需要注意的是有關調用需要加入<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 這個許可權,同時在一些網路超時的時候也可以檢查下網路連接是否存在,以免浪費手機上的電力資源。

private boolean haveInternet()
    {
     boolean result = false;
     ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo info=connManager.getActiveNetworkInfo();
     if (info == null || !info.isConnected())
     {
     result = false;
     }
     else 
     {
     if (!info.isAvailable())
     {
     result =false;
     }
     else
     {
     result = true;
     }
     }
    
     return result;
    }

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()