我想通过服务监控项目中每个页面的互联网。我没有任何关于此的代码。我有方法如何检查互联网连接,但我想通过服务实现它。
提前致谢
答案 0 :(得分:1)
我假设您要在每个活动中检查INTERNET连接,以下是代码。
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" />
然后,您可以通过以下代码
检查任何活动中的INTERNET连接if (!NetworkUtils.isNetworkConnected(getApplicationContext()))
{
// Internet is present
}
else
{
// Error msg
}
答案 1 :(得分: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
文件中