Android 监測网络状态
     我们在使用Android手机时候,一些APP须要网络环境才干执行,所以手机须要可用的网络,无论是2G、3G或者WIFI。甚至有一些比較耗流量的APP仅仅能在WIFI的环境下执行,或者提供用户自行选择是否仅仅能在WIFI环境下执行,作为用户貌似后者体验更好。那么作为开发人员,我们仅仅须要几步就能给用户这样的体验。
-----------------------------------------------------------------------------------------------------------------------------
1.权限加入:APP须要联网。以及须要訪问网络状态,所以在AndroidManifest.xml中加入权限。
    <uses-permission android:name= "android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
2.状态获取:手机网络有数据(2G/3G/4G)连接、WIFI连接两种状态,能够区分获取和笼统的获取。
 /*** 检查WIFI是否连接* * @author Ysjian* @date 2014-5-9* @return 假设连接了返回true,否则返回false*/public boolean isWifiConnected() {ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo wifiInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);return wifiInfo != null;}/*** 检查手机网络(4G/3G/2G)是否连接* * @author Ysjian* @date 2014-5-9* @return 假设连接了返回true,否则返回false*/public boolean isMobileNetworkConnected() {ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo mobileNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);return mobileNetworkInfo != null;}/*** 检查是否有可用网络* * @author Ysjian* @date 2014-5-9* @return 存在WIFI和手机数据随意可用网络返回true。否则返回false*/public boolean hasActivityNetwork() {ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);return connectivityManager.getActiveNetworkInfo() != null;}
3.跳转设置:假设没有网络,跳转到网络设置界面。能够依据详细需求调用上面的三个方法之中的一个来推断网络状态。
if (!hasActivityNetwork()) {AlertDialog.Builder builder = new AlertDialog.Builder(this );builder. setTitle( "没有可用的网络" ).setMessage( "是否对网络进行设置?" ).setPositiveButton( "是" ,new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {Intent intent = null ;intent = newIntent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);startActivity(intent);}}).setNegativeButton( "否" ,new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}}).show();
}

文章来源:http://blog.csdn.net/ysjian_pingcx/article/details/25461053

Android实践--监測网络状态相关推荐

  1. Android实时监听网络状态

    Android开发实时监听网络状态变化一般有两种方法: 1. 新建一个基类BasicActivity.class,在基类中注册网络监听广播NetworkChangeReceiver.class,所有页 ...

  2. android 监听网络状态

    今天,讲讲怎么监听手机网络状态的改变. 一.加入网络权限 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:nam ...

  3. Android通过使用系统广播监听网络状态的改变

    Android通过使用广播监听网络状态的改变 得先添加权限 //查看网络状态<uses-permission android:name="android.permission.ACCE ...

  4. Android开发动态的监听网络状态的变化

    主要思路:使用Android中的四大组件之:BrocastReceiver监听网络状态的变化.接收到网络状态改变的广播之后判断当前的网络是否可用. 创建广播接收器MyNetworkReceiver p ...

  5. Android移动开发检测网络状态并使用BroadcastReceiver(广播接收者)进行接收网络变化的后续处理

    在Android开发中,许多功能需要网络连接,所以在开发过程中需要进行手机网络的检测.而每做一个App,就要进行检测,那么我直接将检测网络状态的功能封装成一个类. 检测网络状态所需要的Api: Con ...

  6. 初识广播机制(监听网络状态的改变,监听网络是否可以使用)

    Android系统中的广播机制比较灵活,因为Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容,这些广播可能是来自于系统的,也可能是来自于其他应 ...

  7. 使用Service和BroadcastReceiver实时监听网络状态

    很多时候我们都需要实时监听网络状态,当网络状态发生变化后通知程序实行不同的策略.  这里,我采用Service+BroadcastReceiver的形式实时监听网络变化. 原理是程序在背后启一个Ser ...

  8. 网络安全netstat监听网络状态。

    网络安全netstat监听网络状态. Internet的通用语言是TCP/TP,它是一组协议,它规定在网络的第四层运输层有两种协议TCP.UDP.端口就是这两个协议打开的,端口分为源端口和目的端口,源 ...

  9. IOS-网络(监听网络状态)

    1 // 2 // BWNetWorkTool.h 3 // IOS_0131_检测网络状态 4 // 5 // Created by ma c on 16/1/31. 6 // Copyright ...

最新文章

  1. deepin--解决QQ时间与系统时间不一致
  2. 在网络中同时使用kfold和使用Dropout(基于Iris数据集)
  3. etcd raft library设计原理和使用
  4. Recycle网格制式之瀑布流的实现
  5. linux下文件的相关信息
  6. arch linux 时间,System time (简体中文)
  7. 在infoWindow中显示Geocode server(地理编码服务)
  8. MedicineCare-可行性分析
  9. OpenGL ES 3.1 Android扩展包介绍
  10. 阮一峰ES6学习-Symbol
  11. 六子棋AI程序---核心讲解
  12. 学以致用——英文姓名高词频分析-使用Excel制作高频词标签云(VBA)
  13. 一、爬虫 - 新浪爱问共享资源全下载之解决方案
  14. 你好,CSDN,我来了。我想在这里记录我的学习和分享知识教程
  15. 快手本地生活可以入场吗
  16. 关于LyfUpload 错误 #x27;80020009#x27; 下标越界的错误,还请大侠们帮帮忙!!!
  17. 10 令牌颁发 OAuth2TokenEndpointFilter
  18. 清华差生10年奋斗经历:各种反省各种彻悟
  19. VMWare 移动Linux CentOS 7虚拟机后连不上网怎么办
  20. 面对电磁辐射干扰,如何轻松进行电子线路设计布局?

热门文章

  1. linux lsattr命令: 显示文件属性
  2. CCIE学习(4)——VLAN基础
  3. DataList和Repeater分页
  4. BZOJ 1007 水平可见直线
  5. 狼真来了!黑客利用SS7漏洞将网银用户洗劫一空
  6. HAProxy安装和配置大全
  7. MicroPython支持SPI驱动外部Flash了
  8. JavaScript escape/unescape 编码的 Java 实现
  9. 22Exchange Server 2010跨站点部署-邮件流测试及重定向
  10. Azure HDInsight与Hadoop周边系统集成