zoukankan      html  css  js  c++  java
  • Android ConnectivityManager

    ** 

    •   * 测试ConnectivityManager 
    •   * ConnectivityManager主要管理和网络连接相关的操作 
    •   * 相关的TelephonyManager则管理和手机、运营商等的相关信息;WifiManager则管理和wifi相关的信息。 
    •   * 想访问网络状态,首先得添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
    •   * NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过其getState()方法获取的State对象则代表着 
    •   * 连接成功与否等状态。 
    •   *  
    •   */  
    •  public void testConnectivityManager() {  
    •   ConnectivityManager connManager = (ConnectivityManager) this  
    •     .getSystemService(CONNECTIVITY_SERVICE);  
    •   // 获取代表联网状态的NetWorkInfo对象   
    •   NetworkInfo networkInfo = connManager.getActiveNetworkInfo();  
    •   // 获取当前的网络连接是否可用   
    •   boolean available = networkInfo.isAvailable();  
    •   if(available){  
    •    Log.i("通知""当前的网络连接可用");  
    •   }  
    •   else{  
    •    Log.i("通知""当前的网络连接可用");  
    •   }  
    •   
    •   State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();  
    •   if(State.CONNECTED==state){  
    •    Log.i("通知""GPRS网络已连接");  
    •   }  
    •     
    •   state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();  
    •   if(State.CONNECTED==state){  
    •    Log.i("通知""WIFI网络已连接");  
    •   }  
    •     
    •   // 跳转到无线网络设置界面   
    •   startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));  
    •   // 跳转到无限wifi网络设置界面   
    •   startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));  
    •     
    •  }  

    (注意:上面的代码只是示例,直接运行的话有待修改。)

    上面判断网络类型的方法只是为了展示用法,其实完全可以通过networkInfo.getType()的返回值来判断。

     如:

    1. Context context = listActivity.getApplicationContext();//获取应用上下文   
    2. ConnectivityManager connectivityManager = (ConnectivityManager) context  
    3. .getSystemService(Context.CONNECTIVITY_SERVICE);//获取系统的连接服务   
    • NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();//获取网络的连接情况   
    • if(activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI){  
    • //判断WIFI网   
    • }else if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) {  
    • //判断3G网   
    • }  
    欧克蓝科技
  • 相关阅读:
    学习计划 23月
    bash学习笔记
    bash 中 while读取文件并通过 ssh执行命令出现的问题及解决方法
    bash 学习笔记2
    fedora 启动 openssh
    lesson5 键盘的应用
    第十三章 int指令
    第十五章 外中断
    第十二章 内中断
    第十四章 端口
  • 原文地址:https://www.cnblogs.com/sias/p/3763670.html
Copyright © 2011-2022 走看看