网络判断

packagetext.bawei.com.internet;

importandroid.content.Context;

importandroid.net.ConnectivityManager;

importandroid.net.NetworkInfo;

importandroid.os.Bundle;

importandroid.support.v7.app.AppCompatActivity;

importandroid.telephony.TelephonyManager;

importandroid.widget.TextView;

publicclassMainActivityextendsAppCompatActivity {

privateTextViewbo1;

privateTextViewbo2;

privateTextViewbo3;

privateTextViewbo4;

privateTextViewbo5;

privateTextViewbo6;

privateTextViewbo7;

privateTextViewbo8;

privateTextViewbo9;

@Override

protectedvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

//判断是否有网络连接

booleannetworkConnected = isNetworkConnected(MainActivity.this);

bo1.setText("判断是否有网络连接networkConnected:  "+ networkConnected);

//判断WIFI网络是否可用

booleanwifiConnected = isWifiConnected(MainActivity.this);

bo2.setText("判断WIFI网络是否可用wifiConnected:  "+ wifiConnected);

//判断MOBILE网络是否可用

booleanmobileConnected = isMobileConnected(MainActivity.this);

bo3.setText("判断MOBILE网络是否可用mobileConnected:  "+ mobileConnected);

//-----------------------------------------------

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

//获取当前的网络状态-1:没有网络1:WIFI网络2:wap网络3:net网络

intconnectedType =getConnectedType(MainActivity.this);

bo4.setText("获取当前网络连接的类型信息connectedType:  "+ connectedType);

ConnectivityManager connMgr = (ConnectivityManager) MainActivity.this

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();

networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

intsubtype = networkInfo.getSubtype();

String subtypeName = networkInfo.getSubtypeName();

bo5.setText("网络的类型"+ subtype +"    "+"网络的名字"+ subtypeName);

intnetworkState = IntenetUtil.getNetworkState(MainActivity.this);

switch(networkState) {

case0:

bo6.setText("当前网络类型networkState:  "+"没有网络连接");

break;

case1:

bo6.setText("当前网络类型networkState:  "+"wifi连接");

break;

case2:

bo6.setText("当前网络类型networkState:  "+"2G");

break;

case3:

bo6.setText("当前网络类型networkState:  "+"3G");

break;

case4:

bo6.setText("当前网络类型networkState:  "+"4G");

break;

case5:

bo6.setText("当前网络类型networkState:  "+"NETWORN_MOBILE");

break;

}

}

//判断是否有网络连接

publicbooleanisNetworkConnected(Context context) {

if(context !=null) {

ConnectivityManager mConnectivityManager = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();

if(mNetworkInfo !=null) {

returnmNetworkInfo.isAvailable();

}

}

returnfalse;

}

//判断WIFI网络是否可用

publicbooleanisWifiConnected(Context context) {

if(context !=null) {

ConnectivityManager mConnectivityManager = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo mWiFiNetworkInfo = mConnectivityManager

.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if(mWiFiNetworkInfo !=null) {

returnmWiFiNetworkInfo.isAvailable();

}

}

returnfalse;

}

//判断MOBILE网络是否可用

publicbooleanisMobileConnected(Context context) {

if(context !=null) {

ConnectivityManager mConnectivityManager = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo mMobileNetworkInfo = mConnectivityManager

.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

if(mMobileNetworkInfo !=null) {

returnmMobileNetworkInfo.isAvailable();

}

}

returnfalse;

}

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

publicstaticintgetConnectedType(Context context) {

if(context !=null) {

ConnectivityManager mConnectivityManager = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();

if(mNetworkInfo !=null&& mNetworkInfo.isAvailable()) {

returnmNetworkInfo.getType();

}

}

return-1;

}

privatevoidinitView() {

bo1= (TextView) findViewById(R.id.bo1);

bo2= (TextView) findViewById(R.id.bo2);

bo3= (TextView) findViewById(R.id.bo3);

bo4= (TextView) findViewById(R.id.bo4);

bo5= (TextView) findViewById(R.id.bo5);

bo6= (TextView) findViewById(R.id.bo6);

bo7= (TextView) findViewById(R.id.bo7);

bo8= (TextView) findViewById(R.id.bo8);

bo9= (TextView) findViewById(R.id.bo9);

}

publicstaticclassIntenetUtil {

//没有网络连接

publicstaticfinalintNETWORN_NONE=0;

//wifi连接

publicstaticfinalintNETWORN_WIFI=1;

//手机网络数据连接类型

publicstaticfinalintNETWORN_2G=2;

publicstaticfinalintNETWORN_3G=3;

publicstaticfinalintNETWORN_4G=4;

publicstaticfinalintNETWORN_MOBILE=5;

/**

*获取当前网络连接类型

*

*@paramcontext

*@return

*/

publicstaticintgetNetworkState(Context context) {

//获取系统的网络服务

ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

//如果当前没有网络

if(null== connManager)

returnNETWORN_NONE;

//获取当前网络类型,如果为空,返回无网络

NetworkInfo activeNetInfo = connManager.getActiveNetworkInfo();

if(activeNetInfo ==null|| !activeNetInfo.isAvailable()) {

returnNETWORN_NONE;

}

//判断是不是连接的是不是wifi

NetworkInfo wifiInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if(null!= wifiInfo) {

NetworkInfo.State state = wifiInfo.getState();

if(null!= state)

if(state == NetworkInfo.State.CONNECTED|| state == NetworkInfo.State.CONNECTING) {

returnNETWORN_WIFI;

}

}

//如果不是wifi,则判断当前连接的是运营商的哪种网络2g、3g、4g等

NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

if(null!= networkInfo) {

NetworkInfo.State state = networkInfo.getState();

String strSubTypeName = networkInfo.getSubtypeName();

if(null!= state)

if(state == NetworkInfo.State.CONNECTED|| state == NetworkInfo.State.CONNECTING) {

switch(activeNetInfo.getSubtype()) {

//如果是2g类型

caseTelephonyManager.NETWORK_TYPE_GPRS://联通2g

caseTelephonyManager.NETWORK_TYPE_CDMA://电信2g

caseTelephonyManager.NETWORK_TYPE_EDGE://移动2g

caseTelephonyManager.NETWORK_TYPE_1xRTT:

caseTelephonyManager.NETWORK_TYPE_IDEN:

returnNETWORN_2G;

//如果是3g类型

caseTelephonyManager.NETWORK_TYPE_EVDO_A://电信3g

caseTelephonyManager.NETWORK_TYPE_UMTS:

caseTelephonyManager.NETWORK_TYPE_EVDO_0:

caseTelephonyManager.NETWORK_TYPE_HSDPA:

caseTelephonyManager.NETWORK_TYPE_HSUPA:

caseTelephonyManager.NETWORK_TYPE_HSPA:

caseTelephonyManager.NETWORK_TYPE_EVDO_B:

caseTelephonyManager.NETWORK_TYPE_EHRPD:

caseTelephonyManager.NETWORK_TYPE_HSPAP:

returnNETWORN_3G;

//如果是4g类型

caseTelephonyManager.NETWORK_TYPE_LTE:

returnNETWORN_4G;

default:

//中国移动 联通 电信 三种3G制式

if(strSubTypeName.equalsIgnoreCase("TD-SCDMA") || strSubTypeName.equalsIgnoreCase("WCDMA") || strSubTypeName.equalsIgnoreCase("CDMA2000")) {

returnNETWORN_3G;

}else{

returnNETWORN_MOBILE;

}

}

}

}

returnNETWORN_NONE;

}

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,335评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,895评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,766评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,918评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,042评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,169评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,219评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,976评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,393评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,711评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,876评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,562评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,193评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,903评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,699评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,764评论 2 351

推荐阅读更多精彩内容