首页 > 代码库 > 网络状态获取

网络状态获取

  1. 需要配置权限

  在AndroidManifest.xml 中添加代码:

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

2. 通过ConnectivityManager类来进行编码操作。

public void getNetworkState() {
    ConnectivityManager connManager = (ConnectivityManager) this.getSystemService(CONNECTIVITY_SERVICE);
    // 获取代表联网状态的NetWorkInfo对象
    NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
    // 获取当前的网络连接是否可用
    if (null == networkInfo) {
        Toast.makeText(this, "当前的网络连接不可用", Toast.LENGTH_SHORT).show();
        //当网络不可用时,跳转到网络设置页面
        startActivityForResult(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS), 1);
    } else {
        boolean available = networkInfo.isAvailable();
        if (available) {
            Log.i("通知", "当前的网络连接可用");
            Toast.makeText(this, "当前的网络连接可用", Toast.LENGTH_SHORT).show();
        } else {
            Log.i("通知", "当前的网络连接不可用");
            Toast.makeText(this, "当前的网络连接不可用", Toast.LENGTH_SHORT).show();
        }
    }
    NetworkInfo.State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
    if (NetworkInfo.State.CONNECTED == state) {
        Log.i("通知", "GPRS网络已连接");
        Toast.makeText(this, "GPRS网络已连接", Toast.LENGTH_SHORT).show();
    }
    state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
    if (NetworkInfo.State.CONNECTED == state) {
        Log.i("通知", "WIFI网络已连接");
        Toast.makeText(this, "WIFI网络已连接", Toast.LENGTH_SHORT).show();
    }
    //// 跳转到无线网络设置界面
    // startActivity(new
    // Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
    //// 跳转到无限wifi网络设置界面
    // startActivity(new
    // Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));
}

技术分享


网络状态获取