我正在开发一个Android应用程序。
我希望我的应用程序通知我Android是否有互联网连接。我该如何检查?
答案 0 :(得分:4)
@Carlo:最简单的方法是首先将ACCESS_NETWORK_STATE权限添加到您的应用程序清单文件并编写一个这样的函数
public boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
如果返回值为true表示互联网正在工作或错误表示显示警告框:)
答案 1 :(得分:1)
您需要在应用程序中为android.net.conn.CONNECTIVITY_CHANGE意图创建一个广播接收器。
以下是文档http://developer.android.com/reference/android/net/ConnectivityManager.html#CONNECTIVITY_ACTION
希望,它对你有帮助!
答案 2 :(得分:1)
//这将检查wifi,3G / EDGE和所有网络可用性
public boolean networkStatus() {
boolean status = false;
int i = 0;
try {
String service = context.CONNECTIVITY_SERVICE;
ConnectivityManager connectivity = (ConnectivityManager) BackupSettings.this.context.getSystemService(service);
connectivity.setNetworkPreference(1);
NetworkInfo networkInfo[] = connectivity.getAllNetworkInfo();
int cnt = networkInfo.length;
for (i = 0; i < cnt; i++) {
if (networkInfo[i].isConnected() == true) {
status = true;
}
}
} catch (Exception ee) {
Log.e(getClass().getSimpleName(), " Error at networkStatus() :=" + ee.toString());
}
Log.e(getClass().getSimpleName(),"End of networkStatus() fun " + status);
return status;
}