Android开发获取网络信息(不定时更新)

  发布日期:   2018-08-06
  最新修改:   2020-04-04
  阅读次数:   84 次

  • 开发中我们避免不了需要处理一些网络操作,操作中可能会有很多情况发生,如没有网络的时候我们应该给与用户友好的提示,以下是自己使用过程中记录的一些代码片段:

         public class NetworkUtils {
        public static boolean isNetworkConnected(Context context) {
            ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            if (connectivityManager == null) {
                return false;
            }
    
            NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
            if (networkInfo != null && networkInfo.isAvailable()&&networkInfo.isConnected()) {
                return true;
            }
            return false;
        }
    }
  • 注意,要判断isConnected,而不要判断isAvailable,如果连接是的wifi则会有如下情况:

    • 1,显示连接已保存,但标题栏没有,即没有实质连接上,输出为:not connect, available
    • 2,显示连接已保存,标题栏也有已连接上的图标, 输出为:connect, available
    • 3,选择不保存后 输出为:not connect, available
    • 4,选择连接,在正在获取IP地址时 输出为:not connect, not available
    • 5,连接上后 输出为:connect, available

   转载规则

《Android开发获取网络信息(不定时更新)字》GajAngels 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。