`
qq986945193
  • 浏览: 92356 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Android开发之强大的网络判断工具,判断是否联网,判断是wifi还是3g网络等java工具代码类

 
阅读更多

作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985

转载请说明出处。

给大家分享一个Android开发者常用的工具类。主要针对网络判断的

功能强大。下面贴源代码。当然,在文章的最后,也有源代码的下载地址。

import java.util.List;

import android.content.Context;
import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.telephony.TelephonyManager;

/*----------------------------------------------------------------
 // 文件名:NetworkAvailableUtils
 // 文件功能描述: 判断网络状态的工具类 
 //isNetworkAvailable 、isGpsEnabled、isWifiEnabled、is3rd、isWifi
 //----------------------------------------------------------------*/

/**  
 * @author 博客:http://blog.csdn.net/qq_21376985
 *   
 *         David编写: 微博:http://weibo.com/93sec.cc  
 *   
 * @version V1.0正式版 
 *   
 * @process QQ986945193  
 *   
 * @Note weibo.com/mcxiaobing  
 *   
 * @dateTime 2015-10-18下午1:46:20  
 *   
 */   
public class NetworkAvailableUtils {

    /**
     * 判断是否联网
     * 
     * @param context
     * @return
     */
    public static boolean isNetworkAvailable(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        if (cm == null) {
        } else {
            //       如果仅仅是用来判断网络连接
            //       则可以使用 cm.getActiveNetworkInfo().isAvailable();
            NetworkInfo[] info = cm.getAllNetworkInfo();
            if (info != null) {
                for (int i = 0; i < info.length; i++) {
                    if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                        return true;
                    }
                }
            }
        }
        return false;
    }

    /**
     * 判断GPS是否打开
     * 
     * @param context
     * @return
     */

    public static boolean isGpsEnabled(Context context) {
        LocationManager lm = ((LocationManager) context
                .getSystemService(Context.LOCATION_SERVICE));
        List<String> accessibleProviders = lm.getProviders(true);
        return accessibleProviders != null && accessibleProviders.size() > 0;
    }

    /**
     *  三、判断WIFI是否打开
     * @param context
     * @return
     */

    public static boolean isWifiEnabled(Context context) {
        ConnectivityManager mgrConn = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        TelephonyManager mgrTel = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);
        return ((mgrConn.getActiveNetworkInfo() != null && mgrConn
                .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel
                .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);
    }

    /**
     * 四、判断是否是3G网络
     * @param context
     * @return
     */

    public static boolean is3rd(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkINfo = cm.getActiveNetworkInfo();
        if (networkINfo != null
                && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {
            return true;
        }
        return false;
    }

    /**
     * 五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。
     * @param context
     * @return
     */

    public static boolean isWifi(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkINfo = cm.getActiveNetworkInfo();
        if (networkINfo != null
                && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {
            return true;
        }
        return false;
    }
}

源代码工具类免积分下载传送门:http://download.csdn.net/detail/qq_21376985/9564625

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    Android 判断联网状态

    通过以上步骤,开发者可以在Android应用中准确地判断设备的联网状态,无论是WIFI还是移动网络,并可以针对不同的网络条件作出相应的逻辑处理。在开发过程中,还需要注意Android系统的不同版本可能存在的差异,以及对...

    使用AndroidStudio开发Android App 实现联网功能

    互联网功能是 Android App 的核心功能之一,本文将详细讲解如何使用Android Studio开发联网功能,包括准备工作、具体实施和异常处理等方面的知识点。 1. 准备工作: 在Android Studio中开发联网功能需要进行一些...

    Android App切换网络模式(4G,3G,2G,飞行模式)

    在Android平台上,开发一款应用程序需要实现网络模式的切换功能,如4G、3G、2G和飞行模式,是一项常见的需求。这些功能可以帮助用户在不同的网络环境下管理数据连接,节省流量,或者在必要时完全断开网络连接。下面...

    如何判断Android手机当前是否联网.txt

    ### 如何判断Android手机当前是否联网 在开发Android应用时,了解设备的网络状态是非常重要的。这不仅可以帮助开发者提供更好的用户体验(例如,在无网络连接时显示提示信息),还可以有效地管理应用资源,避免不必...

    Android中判断有无可用网络的代码(是否是3G或者WIFI网络)

    在Android应用开发中,了解如何判断设备是否有可用的网络连接,以及是3G还是WiFi网络,对于实现数据同步、更新或者其他依赖网络的功能至关重要。以下是一个详细的解析和扩展介绍。 首先,我们来看标题和描述中提供...

    Android-Android的代码规范总结以及一些实用常用的工具类

    - **NetworkUtil**:网络状态检测,包括是否联网、网络类型等。 - **DialogUtil**:提供各种对话框的快捷创建,如提示对话框、选择对话框等。 - **JsonUtil**:序列化和反序列化JSON数据,可以使用Gson或...

    安卓启动退出网络判断相关-判断是否联网.rar

    "安卓启动退出网络判断相关-判断是否联网.rar"这个压缩包可能包含了一些示例代码或者工具类,用于帮助开发者实现这一功能。但由于描述中提到无法逐一验证所有内容,所以我们将主要基于一般的做法来详细讲解如何在...

    java联网版五子棋(源代码)

    通过以上分析,我们可以看出Java联网版五子棋源代码是一个综合性的项目,涵盖了从基础的编程语言特性到复杂的网络通信和游戏逻辑设计等多个方面,对于学习和提升Java编程及游戏开发能力具有很高的参考价值。

    java联网聊天客户端服务端源代码

    在这个“java联网聊天客户端服务端源代码”中,我们可以深入学习到Java编程语言在网络编程中的应用,特别是在构建实时通信系统方面的实践。 首先,让我们关注“ChatClient”这个文件。它代表了聊天应用的客户端部分...

    使用Android实现联网

    Android提供了丰富的API和工具来支持网络编程,使其成为开发联网应用的理想选择。以下是对Android联网功能的详细说明: 1. **Android SDK中的网络组件** - `java.net`包:提供了基本的网络通信类,如Socket和...

    Android开发入门WiFi代码.pdf

    "Android开发入门WiFi代码" Android WiFi开发入门是 Android 应用开发中一个重要的主题,本文将对 Android 中 WiFi 的开发进行详细的讲解。 首先,什么是 WiFi? WiFi 是一种无线联网技术,常见的一个就是无线...

    Android 开发过程网络相关问题

    在Android开发过程中,网络相关的议题是开发者经常遇到的挑战之一。这篇博客文章“Android开发过程网络相关问题”可能深入探讨了Android应用如何与服务器进行通信,处理数据交换以及解决可能出现的异常情况。以下是...

    wifi声波联网android demo

    标题中的“WiFi声波联网Android Demo”是一种技术实现方式,主要应用于移动设备,尤其是Android操作系统上的应用程序。这种技术利用声波来传输数据,比如网络连接信息,使得设备可以通过声音进行WiFi连接,无需手动...

    android开发之网络图片加载

    本教程将深入探讨如何在Android中实现网络图片的加载,以"android开发之网络图片加载"为主题,结合真机测试可用的DEMO进行讲解。 首先,我们要理解Android中处理网络请求的基本原理。Android SDK提供了一系列API,...

    android判断有没联网

    在Android开发中,判断设备是否联网是至关重要的功能,它能确保应用在需要网络的时候能够正常工作,并在无网络连接时给予用户适当的反馈。本文将详细介绍如何在Android中检查网络状态,以及如何根据网络状态提示用户...

    判断是否联网

    在Android开发中,判断设备是否联网是至关重要的功能,它能确保应用的网络依赖部分能够正常运行。在标题“判断是否联网”中,我们主要关注的是如何检测Android设备的网络状态,包括WiFi和移动数据。以下是一些关于...

    判断android设备是否连接网络

    在Android开发中,判断设备是否连接网络是一项基本且重要的功能,这涉及到对设备网络状态的检测,以便应用程序能够根据网络连接情况调整其行为,比如显示不同的用户界面、启动或停止数据传输等。以下是对给定文件中...

    Android 联网工具类

    Android联网,传输下载文件等要用到的类

    判断 程序是否联网,提示联网的Demo

    在开发移动应用或桌面软件时,了解程序是否能够联网是至关重要的。这涉及到应用程序的网络功能,如数据同步、在线更新、用户登录等。本文将深入探讨如何在各种平台上实现程序联网状态的检测,并提供一个提示联网的...

Global site tag (gtag.js) - Google Analytics