我想通过服务监视我项目中每个页面中的互联网。关于这件事我没有任何密码。我有检查互联网连接的方法,但是我想通过服务来实现它。
提前感谢
发布于 2014-01-28 09:37:50
我假设您希望在每个活动中检查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
}发布于 2014-01-28 09:46:03
您还可以实现如下所示:
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
}注意:将所需的internet permission添加到manifest.xml文件中
https://stackoverflow.com/questions/21401801
复制相似问题