网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Android中如何监听网络状态-创新互联

这期内容当中小编将会给大家带来有关Android中如何监听网络状态,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联公司长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为双牌企业提供专业的网站设计制作、做网站,双牌网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

一.加入网络权限

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

二.判断手机网络的几个方案

1)判断是否有网络连接

public boolean isMobileConnected(Context context) {  
  if (context != null) {  
    ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
        .getSystemService(Context.CONNECTIVITY_SERVICE);  
    NetworkInfo mMobileNetworkInfo = mConnectivityManager  
        .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);  
    if (mMobileNetworkInfo != null) {  
      return mMobileNetworkInfo.isAvailable();  
    }  
  }  
  return false;  
}

2)判断WIFI网络是否可用

public boolean isWifiConnected(Context context) {  
  if (context != null) {  
    ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
        .getSystemService(Context.CONNECTIVITY_SERVICE);  
    NetworkInfo mWiFiNetworkInfo = mConnectivityManager  
        .getNetworkInfo(ConnectivityManager.TYPE_WIFI);  
    if (mWiFiNetworkInfo != null) {  
      return mWiFiNetworkInfo.isAvailable();  
    }  
  }  
  return false;  
}

 4)获取当前网络连接的类型信息

public static int getConnectedType(Context context) {  
  if (context != null) {  
    ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
        .getSystemService(Context.CONNECTIVITY_SERVICE);  
    NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();  
    if (mNetworkInfo != null && mNetworkInfo.isAvailable()) {  
      return mNetworkInfo.getType();  
    }  
  }  
  return -1;  
}

在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒。一般可以通过ConnectivityManager来完成该工作。

ConnectivityManager有四个主要任务:

1、监听手机网络状态(包括GPRS,WIFI, UMTS等)
2、手机状态发生改变时,发送广播
3、当一个网络连接失败时进行故障切换
4、为应用程序提供可以获取可用网络的高精度和粗糙的状态

当我们要在程序中监听网络状态时,只要一下几个步骤即可:

1、定义一个Receiver重载其中的onReceive函数,在其中完成所需要的功能,如根据WIFI和GPRS是否断开来改变空间的外观

connectionReceiver = new BroadcastReceiver() { 
   
  @Override 
  public void onReceive(Context context, Intent intent) { 
  ConnectivityManager connectMgr = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 
  NetworkInfo mobNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
  NetworkInfo wifiNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
 
  if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) { 
   Log.i(TAG, "unconnect"); 
   // unconnect network 这时提示用户网络断开信息 
   }else { 
 
  // connect network   可以做一些网络请求,刷新界面 
   } 
  } 
 };

2、在适当的地方注册Receiver,可以在程序中注册,在onCreate中调用如下函数即可

IntentFilter intentFilter = new IntentFilter(); 
 intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); 
 registerReceiver(connectionReceiver, intentFilter);

3、在适当时取消注册Receiver,可以在程序中取消,在onDestroye中调用如下函数即可:

if (connectionReceiver != null) { 
  unregisterReceiver(connectionReceiver); 
 }

上述就是小编为大家分享的Android中如何监听网络状态了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


网页名称:Android中如何监听网络状态-创新互联
文章链接:http://bjjierui.cn/article/dcohsd.html

其他资讯