• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
唯美。
博客园    首页    新随笔    联系   管理    订阅  订阅
Android中判断网络连接是否可用(来源网络)

在Android平台上开发基于网络的应用,必然需要去判断当前的网络连接情况。下面的代码,作为例子,详细说明了对于当前网络情况的判断。 先看一个自己定义的应用类。

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等等。 再来看使用的例子。

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 public void onClick(DialogInterface dialog, int which) {

startActivityForResult(new Intent( ACTION_WIRELESS_SETTINGS), 0);

}

}, new DialogInterface.OnClickListener() {

@Override public void onClick(DialogInterface dialog, int which) {

dialog.cancel();

} }).show();

}

其中XXXActivity是我自己的Activity类,DialogUtil是我自己定义的Dialog应用类。这里的代码片段,是在判断没有网络的情况下,弹出dialog,提示用户是否进入系统的网络设置界面。 因为以上代码用到了权限,需要在AndroidManifest文件中加入如下权限代码:

posted on 2013-08-29 18:42  唯美。  阅读(349)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3