专栏首页微卡智享Android封装网络检测的相关类

Android封装网络检测的相关类

当我们手机的APP在用到网络时一般会先检测手机是不是能上网,或是上网是用的wifi还是手机流量,于是就把相关的网络检测信息封装到一个类里,直接调用方法即可实现了.

我们新建一个networkUtils的类

网络是否可用

public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity == null) { } else { NetworkInfo[] info = connectivity.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } } } return false; }

Gps是否打开

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

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); }

判断当前网络是否是wifi网络

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

判断当前网络是否是3G网络

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

检测网络

public static boolean checkNet(Context context) { try { ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity != null) { NetworkInfo info = connectivity.getActiveNetworkInfo(); if (info != null && info.isConnected()) { if (info.getState() == NetworkInfo.State.CONNECTED) { return true; } } } } catch (Exception e) { return false; } return false; }

本文分享自微信公众号 - 微卡智享(VaccaeShare),作者:Vaccae

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • .net Core API异常信息返回处理

    C#中我们如果操作过程中出现错误一胜败都用throw抛出异常,然后前端接收到后会直接显示出来服务端抛出的异常是什么。

    Vaccae
  • C++ OpenCV轮廓发现

    轮廓即是以某种方式表示图像中的曲线的点的列表。这种表示可以根据实际的情形不同而不同。表示一条曲线的方式有很多种。

    Vaccae
  • C++ OpenCV特征提取之基本的LBP特征提取

    LBP(Local binary pattern)是一个易理解且有效的局部图像特征,应用很广泛。它具有旋转不变性和灰度不变性的显著的有点。已经广泛的应用于纹理分...

    Vaccae
  • Android移动端的网络连接判断与处理

    首先获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。

    用户6079082
  • 超实用的android网络工具类

    在实际开发中,往往一些工具类对我们的帮助是非常大的,借此,我在前人各位前辈的基础上,整理了一个网络的工具类,特此献上:

    砸漏
  • 项目实战工具类(一):PhoneUtil(手机信息相关)

    听着music睡
  • android 监听网络状态的变化及实战

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/de...

    用户2965908
  • android 监听网络状态的变化及实战的示例代码

    在网络错误的情况下获取网络状态进行判断,这种方法是可行的,但你想过了没有,如果每次都要进行这样的判断,岂不是代码量很多?有人会说,那把代码封装到一个类不就好了吗...

    砸漏
  • 手把手教你进行Scrapy中item类的实例化操作

    2、第一步的意思是说将items.py中的ArticleItem类导入到爬虫主体文件中去,将两个文件串联起来,其中items.py的部分内容如下图所示。

    Python进阶者
  • pipenv的使用

    打开虚拟环境的python路径 ,进入 vim .project/Pipfile 修改url后的网址即可 清华 https://pypi.tuna.tsi...

    98k

扫码关注云+社区

领取腾讯云代金券