我想通過服務在我的項目的每個頁面中監控互聯網。我沒有任何關於此的代碼。我有方法如何檢查互聯網連接,但我想通過服務來實現它。通過Android中的服務進行互聯網監控
- 這可能嗎?如果是,請給我提供一些方法或邏輯。
在此先感謝
我想通過服務在我的項目的每個頁面中監控互聯網。我沒有任何關於此的代碼。我有方法如何檢查互聯網連接,但我想通過服務來實現它。通過Android中的服務進行互聯網監控
在此先感謝
我假設你要檢查互聯網連接在每一個你的活動,下面是它的代碼。
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
}
你也可以執行如下:
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
文件