Android手机联网状态、GPS

一、判断网络连接是否可用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;
    } 

调用需要加入<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 这个权限

 二、判断GPS是否打开

  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;
    } 需要加入的权限:<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
三、判断WIFI是否打开
 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网络
    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就可以建议下载或者在线播放。
  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;
        }
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  --->手机数据权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>    --->wifi权限
时间: 2024-11-08 16:46:11

Android手机联网状态、GPS的相关文章

Android判断当前的android设备是否处于联网状态

首先,要想获得当前android设备是否处于联网状态,那么android本身给我们提供了一个服务 private ConnectivityManager connectivityManager;//用于判断是否有网络 connectivityManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);//获取当前网络的连接服务 NetworkInfo info = con

GPS部标平台的架构设计(六)-Android手机客户端和手机查车设计

对于GPS软件平台,虽然有功能非常丰富的PC端或BS客户端,但是客户也是需要移动客户端来作为自己的辅助工具,也是需要的.做为GPS平台的设计者和开发者,在开发移动客户端的时候,也需要从常规的服务器开发和客户端开发的思维中,转变过来,当然客户的需求也需要转变,因为毕竟不能随心所欲的将PC端的所有功能需求照搬到手机客户端,手机的开发环境.网络环境.使用环境都决定了设计理念与PC端的设计是完全不一样的. 通常我们成为GPS部标平台的手机客户端为手机查车,实际上现在的功能不仅仅是查车,由于客户需求的推进

判断Android的WIFI与GPS状态,并引导用户前去开启GPS与WIFI设置

需要配置权限 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 判断Android的WIFI与GPS状态 private void checkWifiAndGpsStatus() { boolean res

Android获取手机状态和监听手机来电状态

获取手机状态: import android.content.Context; import android.telephony.TelephonyManager; //获得相应的系统服务 TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); /** * 返回电话状态 * * CALL_STATE_IDLE 无任何状态时 * CALL_STATE_OFFHOOK 接起电话时 *

Android之监测手机网络状态的广播

Android之监测手机网络状态的广播 Android 监控网络状态 Android利用广播监听设备网络连接(断网)的变化情况

Android -- 程序判断手机ROOT状态,获取ROOT权限

判断手机是否具有ROOT权限                                                            /** * 判断手机是否ROOT */ public boolean isRoot() { boolean root = false; try { if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exi

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

如果拟开发一个网络应用的程序,首先考虑是否接入网络,在Android手机中判断是否联网可以通过 ConnectivityManager 类的isAvailable()方法判断, 首先获取网络通讯类的实例 : Java代码   ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); ,使用 Java代码   cwjManager.getActiveNetw

为什么android手机越用越慢

根据第三方的调研数据显示,有 77% 的 Android 手机用户承认自己曾遭遇过手机变慢的影响,百度搜索"Android+ 卡慢",也有超过 460 万条结果.在业内,Android 手机一直有着"越用越慢"的口碑,这个现象甚至超出了硬件范畴--很多中高端 Android 手机在硬件参数上都优于同一代 iPhone,但是它们仍然会在使用半年到一年的时间后进入"欠流畅"的状态--这无疑是一件令人困扰的事情. 然而,若是要回答这个问题,我们需要追溯

手机定位原理 - GPS/GLONASS/北斗 + WIFI + 基站

卫星定位系统 - GPS/GLONASS/北斗: 关于GPS.GLONASS.北斗.伽利略系统的科普请自行谷歌. GPS是使用最广泛的全球定位网络,几乎是所有智能手机的标配.进几年,俄罗斯的GLONASS定位功能也逐步加入智能手机芯片,与GPS组成双定位系统,定位速度大幅提升.中国自主研发的北斗导航系统,也开始出现在部分高端机型.至于欧洲的伽利略系统,目前还没有见到有哪部手机支持. 卫星定位系统的优点在于精度高,误差一般在15米以内.GPS芯片会接收天空中多颗卫星的同步信号,然后根据信号的相位差