android 判断手机网络连接状态
2011-11-11 09:44
387 查看
目前Android操作系统的手机大部分支持WIFI,GSM,3G网络通信,但是每次链接到网络时只能选择一种链接方式,
比如运营商定制的,还必须要求特定的网络环境(CMWAP,CTWAP等)如果要切换网络还需要先关闭现有的网络,
然后再启动新的网络,这个转换过程还需要一定的时间,
可能程序这时还需要知道心的网络是否链接成功后自动登录到新的网络服务器中,
那怎么知道几时链接成功呢?这个时间需要多久呢?
也许用一个线程去监听网络状态是否链接成功;
我们可以用另外一种方法,PhoneStateListener
没错,你没看错,就是用PhoneStateListener。
很多应用PhoneStateListener都是监听来电去电,PhoneStateListener还可以监听网络断开、
正在连接和连接成功。
PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
我们只要重载onDataConnectionStateChanged方法,根据state判断做相应的处理。
比如运营商定制的,还必须要求特定的网络环境(CMWAP,CTWAP等)如果要切换网络还需要先关闭现有的网络,
然后再启动新的网络,这个转换过程还需要一定的时间,
可能程序这时还需要知道心的网络是否链接成功后自动登录到新的网络服务器中,
那怎么知道几时链接成功呢?这个时间需要多久呢?
也许用一个线程去监听网络状态是否链接成功;
我们可以用另外一种方法,PhoneStateListener
没错,你没看错,就是用PhoneStateListener。
很多应用PhoneStateListener都是监听来电去电,PhoneStateListener还可以监听网络断开、
正在连接和连接成功。
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> final TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); mTelephonyMgr.listen(new PhoneStateListener(){ @Override public void onDataConnectionStateChanged(int state) { switch(state){ case TelephonyManager.DATA_DISCONNECTED://网络断开 break; case TelephonyManager.DATA_CONNECTING://网络正在连接 break; case TelephonyManager.DATA_CONNECTED://网络连接上 break; } } }
PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
我们只要重载onDataConnectionStateChanged方法,根据state判断做相应的处理。
相关文章推荐
- Android----怎么判断手机的网络连接状态
- android 判断手机的网络连接状态
- android开发判断手机网络连接状态
- android手机网络状态监听,判断手机连接的是移动网络还是wifi等
- Android 工具类 —— 判断网络连接状态、GPS是否打开、基站信息和手机IMSI码
- Android之判断设备网络连接状态,并判断连接方式
- Android之判断手机连接的网络类型是WIFI还是2G/3G/4G
- Android 判断及监听网络连接状态
- Android中判断网络连接是否可用及监控网络状态
- Android之判断手机连接的网络类型是WIFI还是2G/3G/4G(转载)
- Android开发中网络连接状态的判断(判断android设备是否有网络)
- Android: 判断网络连接状态及连接类型
- Android之判断设备网络连接状态,并判断连接方式
- Android 判断当前网络状态及代码更改数据连接状态
- android判断是否连接wifi和网络状态的判断
- Android中判断网络连接是否可用及监控网络状态
- Android之判断网络状态(网络的连接,改变,和判断2G/3G/4G)
- Android中判断网络连接状态
- android网络请求网络连接状态判断 & 监控网络状态改变
- Android 判断网络连接状态--实现微信在线/离线状态切换