Android网络连接判断
来源:互联网 发布:四通一达哪个最快知乎 编辑:程序博客网 时间:2024/06/03 18:07
获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
(工具类)定义一个类
NetstateUtil
1)判断是否有网络连接
1 public boolean isNetworkConnected(Context context) { 2 if (context != null) { 3 ConnectivityManager mConnectivityManager = (ConnectivityManager) context 4 .getSystemService(Context.CONNECTIVITY_SERVICE); 5 NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); 6 if (mNetworkInfo != null) { 7 return mNetworkInfo.isAvailable(); 8 } 9 } 10 return false; 11 }
2)判断WIFI网络是否可用
1 public boolean isWifiConnected(Context context) { 2 if (context != null) { 3 ConnectivityManager mConnectivityManager = (ConnectivityManager) context 4 .getSystemService(Context.CONNECTIVITY_SERVICE); 5 NetworkInfo mWiFiNetworkInfo = mConnectivityManager 6 .getNetworkInfo(ConnectivityManager.TYPE_WIFI); 7 if (mWiFiNetworkInfo != null) { 8 return mWiFiNetworkInfo.isAvailable(); 9 } 10 } 11 return false; 12 }
3)判断MOBILE网络是否可用
1 public boolean isMobileConnected(Context context) { 2 if (context != null) { 3 ConnectivityManager mConnectivityManager = (ConnectivityManager) context 4 .getSystemService(Context.CONNECTIVITY_SERVICE); 5 NetworkInfo mMobileNetworkInfo = mConnectivityManager 6 .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 7 if (mMobileNetworkInfo != null) { 8 return mMobileNetworkInfo.isAvailable(); 9 } 10 } 11 return false; 12 }
4)获取当前网络连接的类型信息
1 public static int getConnectedType(Context context) { 2 if (context != null) { 3 ConnectivityManager mConnectivityManager = (ConnectivityManager) context 4 .getSystemService(Context.CONNECTIVITY_SERVICE); 5 NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); 6 if (mNetworkInfo != null && mNetworkInfo.isAvailable()) { 7 return mNetworkInfo.getType(); 8 } 9 } 10 return -1; 11 }
在MainActivity中
//获取网络连接的类型 int type = NetstateUtil(调用工具类方法).getNewType(MainActivity.this); if(type!=-1){ Toast.makeText(this,"我有网络",Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(this,"请检查网络",Toast.LENGTH_SHORT).show(); }
ConnectivityManager有四个主要任务:
1、监听手机网络状态(包括GPRS,WIFI, UMTS等)
2、手机状态发生改变时,发送广播
3、当一个网络连接失败时进行故障切换
4、为应用程序提供可以获取可用网络的高精度和粗糙的状态
当我们要在程序中监听网络状态时,只要一下几个步骤即可:
1、定义一个Receiver重载其中的onReceive函数,在其中完成所需要的功能,如根据WIFI和GPRS是否断开来改变空间的外观
阅读全文
0 0
- android 判断网络连接
- android 判断网络连接
- android 判断网络连接
- android 判断网络连接
- 判断android网络连接
- android 判断网络连接
- Android--网络连接判断
- android判断网络连接
- android判断网络连接
- android判断网络连接
- Android网络连接判断
- Android网络连接判断
- android 网络连接判断
- Android网络连接判断
- Android 判断网络连接
- Android 判断网络连接
- Android判断网络连接
- Android---判断 网络连接
- 设计模式六大原则(3):依赖倒置原则
- 第3章 Opencv图像处理进阶-【第一部分 图像处理B】(imgproc组件、feature2D组件)
- [喵咪开源软件推荐(4)]Liunx跑分神器-unixbench
- 大数据hadoop 面试经典题
- Volley请求,GET+POST
- Android网络连接判断
- Recyclerview点击事件
- 欢迎使用CSDN-markdown编辑器
- Android Studio3.0配置Butterknife8.8.1及大坑
- 步进电机的几个要点
- CentOS7搭建MySQL5.7主从复制
- ios自动化测试
- 使用FFmpeg实现抠图合并功能(chroma key)
- pk10内幕4个提高90%命中率6码技巧分享