导航:首页 > 网络连接 > android怎么看网络连接状态

android怎么看网络连接状态

发布时间:2023-06-16 04:25:41

如何判断Android手机当前是否联网

通知栏可以看见,每个手机显示方式不同,有的在信号格有上下箭头标志,就是数据传输.有上网它会动.还有就是下拉通知栏的快捷设置可以看有没有开数据.最通用的办法就是打开设置-无线和网络-数据连接..看看有没有打开.每个手机不同,方法也不同.希望能帮到你.

② 安卓系统怎样查看网络连接信息

那么,先来看一下正在连接的网络信号,是否真的很弱。只要是检测到的网络信号,都可以查看他的网络信息,你可以连接信号较强的网络。以原道 N 10 辑写攻略。步骤如下: (1)在主屏幕上按下“设置(Menu)”键。 (2)轻按选择“无线和网络”按钮。进入可以设置或者查看网络。 (3)然后,轻按选择“Wi-Fi 设置”按钮。 (4)若开启 Wi-Fi 无线网络,然后就会显示检测到的无线网络列表,轻按任何一个网络来查看网络信息。 (5)而后,你就可以查看无线网络信号的“安全性”、“信号强度”、“是否需要密码”等。 正在连接中的网络信息:编者按: 小张的安卓平板设备,在公司检测到多个可用 Wi-Fi 信号。有一次,因为自己的平板上网速度很慢,而其他同事并没有这样的反映。后来,他就查看了使用网络的信号强度,显示是“弱”信号。原来其他同事在使用本房间的无线信号,小明的网络信号还是大厅信号。还有,一个信号在接入之前,首先要看他是否需要密码,再看他的信号强度,再决定接入网络。

③ android 判断是否有网络连接

我们在做访问的时候都得进行判断是否连网。判断连网也比较简单,就用到了两个类。ConnectivityManager和NetworkInfo。

只要执行下面的代码就可以了。

1
2
3
4
5

ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isWifiConn = networkInfo.isConnected();
networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
boolean isMobileConn = networkInfo.isConnected();

只要有一个连接就是有网,NetworkInfo就是网络的信息。还有一种更简便的判断是否连网的方法。

1
2

ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();

在一个就是监听网络变化,就是设置一个广播。

注册广播,监听ConnectivityManager.CONNECTIVITY_ACTION这个action

1
2
3

IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
receiver = new NetworkReceiver();
context.registerReceiver(receiver, filter);

再实现一个广播类就可以了。这样网络一变化,就会受到广播,然后执行对应操作了。

1
2
3
4
5
6
7

public class NetworkReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("TAG", "intent============>>>>" + intent.toString());

}
}

下面就是来说一下判断手机网络的类型了,2G,3G,4G

关于网络类型,在得到networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);这个后,确定是手机网络后,通过networkInfo.getSubtype()会得到网络的类型,用networkInfo.getSubtypeName()会得到网络的名字。

我们通过这个networkInfo.getSubtype()得到的类型来判断当前是什么网络。

其实,Android的Api中已经定义了各种网络状态,不是在ConnectivityManager里面定义的,而是在TelephonyManager里面的定义的。通过不同的api版本的修改,目前增加到了14个状态值:

下面是通过自己查资料,和看别人查资料实验得来的。整理如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

--------------------Added in API level 1---------------------
public static final int NETWORK_TYPE_UNKNOWN
Network type is unknown
Constant Value: 0 (0x00000000)
(不知道网络类型)

public static final int NETWORK_TYPE_GPRS
Current network is GPRS
Constant Value: 1 (0x00000001)
(2.5G)移动和联通

public static final int NETWORK_TYPE_EDGE
Current network is EDGE
Constant Value: 2 (0x00000002)
(2.75G)2.5G到3G的过渡 移动和联通

public static final int NETWORK_TYPE_UMTS
Current network is UMTS
Constant Value: 3 (0x00000003)
(3G)联通

-----------------Added in API level 4---------------------
public static final int NETWORK_TYPE_CDMA
Current network is CDMA: Either IS95A or IS95B
Constant Value: 4 (0x00000004)
(2G 电信)

public static final int NETWORK_TYPE_EVDO_0
Current network is EVDO revision 0
Constant Value: 5 (0x00000005)
( 3G )电信

public static final int NETWORK_TYPE_EVDO_A
Current network is EVDO revision A
Constant Value: 6 (0x00000006)
(3.5G) 属于3G过渡

public static final int NETWORK_TYPE_1xRTT
Current network is 1xRTT
Constant Value: 7 (0x00000007)
( 2G )

---------------------Added in API level 5--------------------
public static final int NETWORK_TYPE_HSDPA
Current network is HSDPA
Constant Value: 8 (0x00000008)
(3.5G )

public static final int NETWORK_TYPE_HSUPA
Current network is HSUPA
Constant Value: 9 (0x00000009)
( 3.5G )

public static final int NETWORK_TYPE_HSPA
Current network is HSPA
Constant Value: 10 (0x0000000a)
( 3G )联通

--------------------------Added in API level 8-------------------------
public static final int NETWORK_TYPE_IDEN
Current network is iDen
Constant Value: 11 (0x0000000b)
(2G )

--------------------------Added in API level 9-------------------------
public static final int NETWORK_TYPE_EVDO_B
Current network is EVDO revision B
Constant Value: 12 (0x0000000c)
3G-3.5G

--------------------------Added in API level 11------------------------
public static final int NETWORK_TYPE_LTE
Current network is LTE
Constant Value: 13 (0x0000000d)
(4G)

public static final int NETWORK_TYPE_EHRPD
Current network is eHRPD
Constant Value: 14 (0x0000000e)
3G(3G到4G的升级产物)

--------------------------Added in API level 13---------------------------
public static final int NETWORK_TYPE_HSPAP
Current network is HSPA+
Constant Value: 15 (0x0000000f)
( 3G )

④ Android中如何简单检测网络是否连接

权限:

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>

代码:

/*
*判断网络连接是否已开
*true已打开false未打开
**/
publicstaticbooleanisConn(Contextcontext){
booleanbisConnFlag=false;
ConnectivityManagerconManager=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfonetwork=conManager.getActiveNetworkInfo();
if(network!=null){
bisConnFlag=conManager.getActiveNetworkInfo().isAvailable();
}
returnbisConnFlag;
}


/*没有网络跳转到网络设置页面
*打开设置网络界面
**/
(finalContextcontext){
//提示对话框
AlertDialog.Builderbuilder=newAlertDialog.Builder(context);
builder.setTitle("网络设置提示").setMessage("网络连接不可用,是否进行设置?").setPositiveButton("设置",newDialogInterface.OnClickListener(){

@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
//TODOAuto-generatedmethodstub
Intentintent=null;
//判断手机系统的版本即API大于10就是3.0或以上版本
if(Build.VERSION.SDK_INT>10){
intent=newIntent(Settings.ACTION_WIRELESS_SETTINGS);
}else{
intent=newIntent();
ComponentNamecomponent=newComponentName("com.android.settings","com.android.settings.WirelessSettings");
intent.setComponent(component);
intent.setAction("android.intent.action.VIEW");
}
context.startActivity(intent);
}
}).setNegativeButton("取消",newDialogInterface.OnClickListener(){

@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
//TODOAuto-generatedmethodstub
dialog.dismiss();
}
}).show();
}

⑤ Android系列之如何判断网络链接状态

获取android系统的连接服务可判断网络连接状态,代码如下

publicclassNetUtils{
(Contextcontext){
ConnectivityManager袜闭橘mConnectivityManager=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
态态NetworkInfo[]infos=cm.getAllNetworkInfo();
for(NetworkInfoinfo:infos){
if(info.isAvailable()&&info.isConnected()){
returntrue;
}
}
returnfalse;
}
}

NetworkInfo的isAvailable()和isConnected()有以下5种状态:

在WLAN设置界面

1,显示连接已保存,但标题栏没有,即没有实质连接上:isConnected()==false,isAvailable()=true


2,显示连接已保存告团,标题栏也有已连接上的图标:isConnected()==true,isAvailable()=true


3,选择不保存后:isConnected()==false,isAvailable()=true


4,选择连接,在正在获取IP地址时:isConnected()==false,isAvailable()=false


5,连接上后:isConnected()==true,isAvailable()=true

阅读全文

与android怎么看网络连接状态相关的资料

热点内容
大华股份网络安全 浏览:896
安装时设置了公用网络 浏览:428
网络一直是光信号怎么办 浏览:423
安防网络系统可以卖多少钱 浏览:709
国际网络聊天软件下载 浏览:885
信号非常好但是网络打牌怎么了 浏览:265
无线能把自己网络调快吗 浏览:422
宝山区手机端网络推广外包报价 浏览:101
广州翼嘉电脑网络科技有限公司 浏览:636
如何在网络平台上举报废品收购站 浏览:443
筑牢全区网络安全防线 浏览:402
泰国中国移动网络现状 浏览:895
网络安全专家陈禹 浏览:991
网络班和尖子班哪个好 浏览:863
电信网络网速慢是怎么回事 浏览:397
学校的无线网络 浏览:164
网络网络机顶盒用哪个好 浏览:950
云和县5g手机有网络吗 浏览:782
网络机顶盒怎么设置wifi信号强 浏览:567
通讯网络工程师主要做什么 浏览:190

友情链接