网络状态获取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络状态获取相关的知识,希望对你有一定的参考价值。

  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));
}

技术分享


以上是关于网络状态获取的主要内容,如果未能解决你的问题,请参考以下文章

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

在导航抽屉片段中保存视图页面片段的状态

VSCode自定义代码片段13——Vue的状态大管家

VSCode自定义代码片段13——Vue的状态大管家

VSCode自定义代码片段13——Vue的状态大管家

java BottomBarNavigation代码保留片段状态