温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在Android中判断网络状态

发布时间:2021-06-26 17:31:13 来源:亿速云 阅读:133 作者:Leah 栏目:移动开发

如何在Android中判断网络状态,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一、权限

需要在AndroidManifest.xml 添加访问权限

<usespermissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>

二、判断连接状态

 /**
  * 判断是否有网络连接
  * @param context
  * @return
  */
 public static boolean isConnect(Context context) {
  boolean _isConnect = false;
  ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
  NetworkInfo network = conManager.getActiveNetworkInfo();
  if (network != null) {
   _isConnect = conManager.getActiveNetworkInfo().isAvailable();
  }
  return _isConnect;
 }

三、打开网络设置对话框

/**
  * 打开系统网络设置界面
  * @param context
  */
 public void setNetworkMethod(final Context context) {

  AlertDialog.Builder builder = new AlertDialog.Builder(context);
  builder.setTitle("提示信息").setMessage("未发现网络连接,是否进行设置?").setPositiveButton("设置", new DialogInterface.OnClickListener() {
   @Override
   public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub
    Intent intent = null;
    //3.0之前和之后API不同,需要判断
    if (android.os.Build.VERSION.SDK_INT > 10) {
     intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
    } else {
     intent = new Intent();
     ComponentName component = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");
     intent.setComponent(component);
     intent.setAction("android.intent.action.VIEW");
    }
    context.startActivity(intent);
   }
  }).setNegativeButton("取消", new DialogInterface.OnClickListener() {

   @Override
   public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub
    dialog.dismiss();
   }
  }).show();
 }

四、调用

button.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View view) {
    if (!isConnect(TwoActivity.this)){
     setNetworkMethod(TwoActivity.this);
    }
   }
  });

关于如何在Android中判断网络状态问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI