2014-01-28 83 views
2

我想通過服務在我的項目的每個頁面中監控互聯網。我沒有任何關於此的代碼。我有方法如何檢查互聯網連接,但我想通過服務來實現它。通過Android中的服務進行互聯網監控

  1. 這可能嗎?如果是,請給我提供一些方法或邏輯。

在此先感謝

回答

1

我假設你要檢查互聯網連接在每一個你的活動,下面是它的代碼。

public abstract class NetworkUtils { 

    public static boolean isNetworkConnected(Context context) { 
     ConnectivityManager connectivityManager = (ConnectivityManager) context 
       .getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); 
     return networkInfo != null && networkInfo.isConnected(); 
    } 
} 

爲此,您需要需要您的AndroidManifest.xml文件以下權限,

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

那麼你可以通過下面的代碼檢查互聯網連接的任何活動,

if (!NetworkUtils.isNetworkConnected(getApplicationContext())) 
{ 
    // Internet is present 
} 
else 
{ 
    // Error msg 
} 
1

你也可以執行如下:

public boolean isInternetConnected() { 
    ConnectivityManager conMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    boolean ret = true; 
    if (conMgr != null) { 
     NetworkInfo i = conMgr.getActiveNetworkInfo(); 

     if (i != null) { 
      if (!i.isConnected()) { 
       ret = false; 
      } 

      if (!i.isAvailable()) { 
       ret = false; 
      } 
     } 

     if (i == null) 
      ret = false; 
    } else 
     ret = false; 
    return ret; 
} 

,並檢查就像在你的服務或AsynTask如下:

if(isInternetConnected()){ 
//add your logic 
}else{ 
//add your logic 
} 

注:添加所需的互聯網permission到您manifest.xml文件