Android 监控网络状态
生活随笔
收集整理的這篇文章主要介紹了
Android 监控网络状态
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Html代碼 public?static?boolean?isNetworkAvailable(Context?context)?{?? ????????ConnectivityManager?connectivity?=?(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);?? ????????if?(connectivity?==?null)?{?? ????????????Log.i("NetWorkState",?"Unavailabel");?? ????????????return?false;?? ????????}?else?{?? ????????????NetworkInfo[]?info?=?connectivity.getAllNetworkInfo();?? ????????????if?(info?!=?null)?{?? ????????????????for?(int?i?=?0;?i?<?info.length;?i++)?{?? ????????????????????if?(info[i].getState()?==?NetworkInfo.State.CONNECTED)?{?? ????????????????????????Log.i("NetWorkState",?"Availabel");?? ????????????????????????return?true;?? ????????????????????}?? ????????????????}?? ????????????}?? ????????}?? ????????return?false;?? ????}?? @Override?? public?void?onReceive(Context?context,?Intent?intent)?{?? Log.e(TAG,?"網(wǎng)絡(luò)狀態(tài)改變");?? ?? boolean?success?=?false;?? ?? //獲得網(wǎng)絡(luò)連接服務(wù)?? ConnectivityManager?connManager?=?(ConnectivityManager)?getSystemService(CONNECTIVITY_SERVICE);?? //?State?state?=?connManager.getActiveNetworkInfo().getState();?? State?state?=?connManager.getNetworkInfo(?? ConnectivityManager.TYPE_WIFI).getState();?//?獲取網(wǎng)絡(luò)連接狀態(tài)?? if?(State.CONNECTED?==?state)?{?//?判斷是否正在使用WIFI網(wǎng)絡(luò)?? success?=?true;?? }?? ?? state?=?connManager.getNetworkInfo(?? ConnectivityManager.TYPE_MOBILE).getState();?//?獲取網(wǎng)絡(luò)連接狀態(tài)?? if?(State.CONNECTED?!=?state)?{?//?判斷是否正在使用GPRS網(wǎng)絡(luò)?? success?=?true;?? }?? ?? if?(!success)?{?? Toast.makeText(LocationMapActivity.this,?"您的網(wǎng)絡(luò)連接已中斷",?Toast.LENGTH_LONG).show();?? }??? ?? }?? //注冊(cè)網(wǎng)絡(luò)監(jiān)聽?? IntentFilter?filter?=?new?IntentFilter();??? filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);?? registerReceiver(mNetworkStateReceiver,?filter);?? //在Activity中的onDestroy中:'?? ?? unregisterReceiver(mNetworkStateReceiver);?//取消監(jiān)聽?
上面這個(gè)方法就是判斷網(wǎng)絡(luò)是否連接的代碼,返回true表示有網(wǎng)絡(luò),返回false表示無網(wǎng)絡(luò)。 在Android網(wǎng)絡(luò)應(yīng)用程序開發(fā)中,經(jīng)常要判斷網(wǎng)絡(luò)連接是否可用,因此經(jīng)常有必要監(jiān)聽網(wǎng)絡(luò)狀態(tài)的變化。android的網(wǎng)絡(luò)狀態(tài)監(jiān)聽可以用 BroadcastReceiver來接收網(wǎng)絡(luò)狀態(tài)改變的廣 播,具體實(shí)現(xiàn)如下:
Html代碼
在Activity的onCreate中:
轉(zhuǎn)載于:https://www.cnblogs.com/Free-Thinker/p/3858839.html
總結(jié)
以上是生活随笔為你收集整理的Android 监控网络状态的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenShift helm的安装
- 下一篇: django 函数装饰器 变为 类装饰器