Android检测网络是否可用并获取网络类型

在类中使用getSystemService的时候需要这样进行使用:1.

public class JajaMenu extends Activity
{
    public static JajaMenu instance;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        instance=this;
    }

  //获取实例
      public static JajaMenu getInstance(){
          return instance;
      }
}

2.调用

public static final int NETTYPE_WIFI = 0x01;
public static final int NETTYPE_CMWAP = 0x02;
public static final int NETTYPE_CMNET = 0x03;
/**
     * 检测网络是否可用
     * @return
     */
    public boolean isNetworkConnected(){
        ConnectivityManager cm=(ConnectivityManager)JajaMenu.getInstance().getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo=cm.getActiveNetworkInfo();
        return networkInfo !=null && networkInfo.isConnectedOrConnecting();
    }

    /**
     * 获取网络类型
     * @return 0:没有网络   1:WIFI网络   2:WAP网络    3:NET网络
     * */
    public int getNetworkType(){
        int netType=0;
        ConnectivityManager cm=(ConnectivityManager)JajaMenu.getInstance().getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo=cm.getActiveNetworkInfo();
        if(networkInfo == null){
            return netType;
        }
        int nType=networkInfo.getType();
        if(nType ==ConnectivityManager.TYPE_MOBILE){
            String extraInfo=networkInfo.getExtraInfo();
            if(!extraInfo.isEmpty()){
                String strInfo=extraInfo.toLowerCase();
                if(strInfo.equals("cmnet")){
                    netType=NETTYPE_CMNET;
                }
                else{
                    netType=NETTYPE_CMWAP;
                }
            }
        }
        else if(nType ==ConnectivityManager.TYPE_WIFI){
            netType=NETTYPE_WIFI;
        }
        return netType;
    }
时间: 2024-08-10 09:05:41

Android检测网络是否可用并获取网络类型的相关文章

无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)

1.smartimageview使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

android检测当前网络是否可用

在android程序中运行第一步就是检测当前有无可用网络 如果没有网络可用就退出程序 if (isConnect(this)==false) { new AlertDialog.Builder(this) .setTitle("网络错误") .setMessage("网络连接失败,请确认网络连接") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override

Android 之检测手机网络是否可用

手机网络是否可用:这只是一个小demo,平时开发的过程中,用到的其实也是比较多的,比如:有一些新闻客户端当你乜有网络的时候,图片变不能查看,或者我们常用的QQ,当你没有网络的时候,变会在你的头部给你一个提示:世界上最远的距离就是没有网络,请检查设置 所以,检测网络这个功能其实用到的也是听过的,也是一个简单的小功能 1.效果图: 网络开启的情况下,网络可用: 关闭网络的时候: 2.实例源码 package com.zengtao.classwork; import android.content.

Android检测网络状态,判断当前网络是否可用

用户手机当前网络可用:WIFI.2G/3G网络,用户打开与不打开网络,和是否可以用是两码事.可以使用指的是:用户打开网络了并且可以连上互联网进行上网. 检测当前网络是否可用,代码如下: /** * 检测当的网络(WLAN.3G/2G)状态 * @param context Context * @return true 表示网络可用 */ public static boolean isNetworkAvailable(Context context) { ConnectivityManager

一起学android之如何获取网络类型并判断是否可用(20)

ConnectivityManager主要管理和网络连接相关的操作,通过getSystemService(Context.CONNECTIVITY_SERVICE)获 取网络连接的服务.因此我们可以通过ConnectivityManager这个类下的getActiveNetworkInfo()方法来获取当前的网络 连接状态,这个方法返回的是NetworkInfo对象, NetworkInfo描述了当前网络Mobile和Wifi的状态.NetworkInfo类中有 三个方法:(1)getType(

android 检测网络是否可用

/**     * 检测网络是否可用     *      * @return     */    public boolean isNetworkConnected() {        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo ni = cm.getActiveNetworkInfo();        re

Android中判断当前网络是否可用

当前有可用网络,如下图: 当前没有可用网络,如下图: 实现步骤: 1.获取ConnectivityManager对象 Context context = activity.getApplicationContext(); // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理) ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECT

Android 通过广播获取网络状态

Android系统网络连接状态的改变会发一个广播,注册一个广播接收者,实时动态的检测网络状态,及时提醒用户,优化用户体验. 本文仅提供WIFI 状态的检测作为参考,其他网络连接方式请对比WIFI连接作出调整. 首先写一个WifiStateBroadcast类继承BroadcastReceiver,重写onRecevie方法,获取网络连接状态管理器,通过管理器拿到对应的网络信息,得到网络状态,判断网络状态,作出相应的业务逻辑. 1 public class WifiStateBroadCast e

android检测网络连接状态示例讲解

网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置 Android连接首先,要判断网络状态,需要有相应的权限,下面为权限代码(AndroidManifest.xml): 复制代码 代码如下: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="a