Android判断当前网络是否可用--示例代码
在Android平台上开发基于网络的应用,必然需要去判断当前的网络连接情况。下面的代码,作为例子,详细说明了对于当前网络情况的判断。
先看一个自己定义的应用类。
view plaincopy to clipboardprint?
public class NetworkDetector {
public static boolean detect(Activity act) {
ConnectivityManager manager = (ConnectivityManager) act
.getApplicationContext().getSystemService(
Context.CONNECTIVITY_SERVICE);
if (manager == null) {
return false;
}
NetworkInfo networkinfo = manager.getActiveNetworkInfo();
if (networkinfo == null || !networkinfo.isAvailable()) {
return false;
}
return true;
}
}
public class NetworkDetector {
public static boolean detect(Activity act) {
ConnectivityManager manager = (ConnectivityManager) act
.getApplicationContext().getSystemService(
Context.CONNECTIVITY_SERVICE);
if (manager == null) {
return false;
}
NetworkInfo networkinfo = manager.getActiveNetworkInfo();
if (networkinfo == null || !networkinfo.isAvailable()) {
return false;
}
return true;
}
}
这个类只有一个静态方法,用来检测当前系统的网络是否可用。如果可用,返回true。
还要进一步说明的是,NetworkInfo类中有一个方法getType(),这个方法可以用来判断当前可用的网络是wifi,还是mobile等等。
再来看使用的例子。
view plaincopy to clipboardprint?
boolean networkState = NetworkDetector.detect(XXXActivity.this);
if (!networkState) {
DialogUtil.openMsgDialog(XXXActivity.this,
android.R.drawable.ic_dialog_info,
“网络不可用,是否现在设置网络?”, android.R.string.ok,
android.R.string.cancel,
new DialogInterface.OnClickListener() {
@Override
&nbs
相关新闻>>
- 发表评论
-
- 最新评论 更多>>