<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
1)判断是否有网络连接
1 public boolean isNetworkConnected(Context context) {
2 if (context != null) {
3 ConnectivityManager mConnectivityManager = (ConnectivityManager) context
4 .getSystemService(Context.CONNECTIVITY_SERVICE)
5 NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo()
6 if (mNetworkInfo != null) {
7 return mNetworkInfo.isAvailable()
8 }
9 }
10 return false
11 }
https://www.cnblogs.com/fnlingnzb-learner/p/7531811.html
下面咱们讨论下Android手机判断网络链接状态的技术实现吧目前Android *** 作系统的手机大部分支持WIFI,
GSM,3G网络通信
,但是每次链接到网络时只能选择一种链接方式,
比如运营商定制的,还必须要求特定的网络环境(CMWAP,CTWAP等)如果要切换网络还需要先关闭现有的网络,
然后再启动新的网络,这个转换过程还需要一定的时间,
可能程序这时还需要知道心的网络是否链接成功后自动登录到新的网络服务器中,
也许用一个线程去监听网络状态是否链接成功;
我们可以用另外一种方法,PhoneStateListener
没错,你没看错,就是用PhoneStateListener。
很多应用PhoneStateListener都是监听来电去电,PhoneStateListener还可以监听网络断开、
正在连接和连接成功。
1 final TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE)
2 mTelephonyMgr.listen(new PhoneStateListener(){
3
4 @Override
5 public void onDataConnectionStateChanged(int state) {
6 switch(state){
7 case TelephonyManager.DATA_DISCONNECTED://网络断开
8break
9 case TelephonyManager.DATA_CONNECTING://网络正在连接
10break
11 case TelephonyManager.DATA_CONNECTED://网络连接上
12break
13 }14 }15 16 }PhoneStateListener.LISTEN_DATA_CONNECTION_STATE)
我们只要重载onDataConnectionStateChanged方法,根据state判断做相应的处理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)