zoukankan      html  css  js  c++  java
  • Android杂谈网络状态判断(3G/WIFI)

      在http://www.cnblogs.com/loulijun/archive/2012/02/03/2337230.html这篇文章中已经介绍了网络状态的判断,但是测试后发现用此方法只能够判断WIFI是否连接,而现在的智能机可以是wifi、3G、甚至2G。那么如果用上面的方法就不行了需要进行一下修改,使其在网络不连接(无论wifi、3G、2G)的时候也可以判断。代码如下

    //Check network
    public void CheckNetworkState()
    {
    boolean flag = false;
    ConnectivityManager manager = (ConnectivityManager)getSystemService(
    Context.CONNECTIVITY_SERVICE);
    State mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
    State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
    //如果3G、wifi、2G等网络状态是连接的,则退出,否则显示提示信息进入网络设置界面
    if(mobile == State.CONNECTED||mobile==State.CONNECTING)
    return;
    if(wifi == State.CONNECTED||wifi==State.CONNECTING)
    return;
    showTips();
    }

    private void showTips()
    {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setIcon(android.R.drawable.ic_dialog_alert);
    builder.setTitle(R.string.netstate);
    builder.setMessage(R.string.setnetwork);
    builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
    // 如果没有网络连接,则进入网络设置界面
    startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
    }
    });
    builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
    dialog.cancel();
    }
    });
    builder.create();
    builder.show();
    }

    这种方式更加简单,也更加有用,当然第一篇也有可取之处,可以加入3G状态检查即可
    注意:别忘了加上权限

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



  • 相关阅读:
    selenium环境搭建
    noip2020游记
    [HNOI2007]分裂游戏——博弈论好题
    [SCOI2007]压缩——区间dp
    赛道修建——二分答案
    玩诈欺的小杉——异或优化的状压dp
    【佛山市选2013】排列——发现性质与转化问题
    电话线铺设——难实现的最小生成树
    备用钥匙——分情况讨论的好dp
    喝喝喝——稍加推导的好转化
  • 原文地址:https://www.cnblogs.com/loulijun/p/2345667.html
Copyright © 2011-2022 走看看