首页 > 其他分享 >Android网络类型判断

Android网络类型判断

时间:2022-11-22 11:31:39浏览次数:34  
标签:判断 return Context ConnectivityManager 网络 manager boolean context Android


在Android开发中,我们有时候需要根据当前网络的类型去做一些操作,下面看看如何判断当前网络的状况:

public class NetWorkUtil {
private static ConnectivityManager manager;
/**
* 判断网络是否连接
* @param context
* @return
*/
public static boolean isNetWorkAvailable(Context context){
boolean flag = false;
manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if(manager.getActiveNetworkInfo()!=null){
flag = manager.getActiveNetworkInfo().isAvailable();
}
return flag;
}
/**
* 判断当前网络类型
* @param context
* @return 1 代表gps,2代表wifi
*/
public static int getNetworkType(Context context){
int type = 0 ;
State gprs = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if(gprs == State.CONNECTED || gprs == State.CONNECTING){
type = 1;
}
if(wifi == State.CONNECTED || wifi == State.CONNECTING){
type = 2;
}
return type;
}
/**
* 判断移动网络是否连接
* @param context
* @return
* @throws Exception
*/
public static boolean isMobileDataEnable(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
boolean isMobileDataEnable = false;

isMobileDataEnable = connectivityManager.getNetworkInfo(
ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();

return isMobileDataEnable;
}
/**
* 判断wifi是否连接
* @param context
* @return
* @throws Exception
*/
public static boolean isWifiDataEnable(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
boolean isWifiDataEnable = false;
isWifiDataEnable = connectivityManager.getNetworkInfo(
ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
return isWifiDataEnable;
}
}


标签:判断,return,Context,ConnectivityManager,网络,manager,boolean,context,Android
From: https://blog.51cto.com/u_10847930/5877264

相关文章

  • 用php入门网络编程
    学习思路以下是我对学习网络编程的一个简单的学习思路,之后我将会按照这个计划去逐步学习网络编程相关的知识。step1.原生php实现TCPServer->原生php实现http协议->掌......
  • 计算机网络概述
    概述1.网络、互联网和因特网网络由若干结点和链接这些结点的链路组成。互联网是个网络通过路由器互联起来,构成一个范围更大的网络,(网络的网络)。因特网是世界上最大的互......
  • Pytorch入门(3)—— 构造网络模型
    参考:动手学深度学习注意:由于本文是jupyter文档转换来的,代码不一定可以直接运行,有些注释是jupyter给出的交互结果,而非运行结果!!文章目录​​1.模型构造​​​​1.1继承`M......
  • 快速实现网络爬虫做对这几步就行
    什么是网络爬虫?我们经常听见一些大公司的程序员一直唠叨着“网络爬虫”,那么网络爬虫到底有啥奇特之处?通俗点讲,网络爬虫就是能够模拟像正常用户那样浏览网页,并且将所需要的......
  • Unity :Android局域网通信、UDP广播实现控制器开关(继电器)
    要解决的问题:1.UDP广播:因为平板控制的不仅仅是继电器,还有其他电脑2.继电器接收的是16进制指令,所以要把12个按钮1-12转换成16进制,要不然一个个的发送太麻烦,这里是指令的理......
  • 22.大促期间网络编程与安全解读【双元】(1) _完全没用
               ......
  • [Android开发学iOS系列] TableView展现一个list
    TableView基础本文讲讲TableView的基本使用.顺便介绍一下delegation.TableView用来做什么TableView用来展示一个很长的list.和Android中的RecyclerView不同,iOS中的......
  • shell bash判断文件或文件夹是否存在
     #shell判断文件夹是否存在#如果文件夹不存在,创建文件夹if[!-d"/myfolder"];thenmkdir/myfolderfi#shell判断文件,目录是否存在或者具有权限folder="/var/www/"fi......
  • 应该选择网络安全还是程序员?
    很长的时间我都在思考这个问题.,根据自己的经验和朋友们的讨论后得出了一些结论,网络安全这个概念太广,我就以安服/渗透岗作为比较的对象,题主可以参考一下:程序员:优点:1.薪......
  • MAC环境Android SDK环境变量配置
    打开.bash_profile文件exportANDROID_HOME=/Users/liwen/Library/Android/sdkexportPATH=${PATH}:${ANDROID_HOME}/platform-toolsexportPATH=${PATH}:${ANDROID_HOME}/t......