我想通过服务在我的项目的每个页面中监控互联网。我没有任何关于此的代码。我有方法如何检查互联网连接,但我想通过服务来实现它。通过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
文件