判断手机的网络连接状态,能够识别mobile和wifi连接。
以下程序,参考自 http://www.cnblogs.com/qingblog/archive/2012/07/19/2598983.html
获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
1
/**
2
* 判断网络连接状态
3
* 1. mobile网络连接
4
* 2. wifi网络连接
5
* 3. 没有网络连接
6
*
7
* 判断的方法就是:利用ConnectivityManager来获取NetworkInfo。
8
*
9
* 在程序的后面还给了几个函数
10
* 以下程序,参考自
http://www.cnblogs.com/qingblog/archive/2012/07/19/2598983.html
11
*/
12
13
package
com.example.networkstate;
14
15
import
android.app.Activity;
16
import
android.content.BroadcastReceiver;
17
import
android.content.Context;
18
import
android.content.Intent;
19
import
android.content.IntentFilter;
20
import
android.net.ConnectivityManager;
21
import
android.net.NetworkInfo;
22
import
android.os.Bundle;
23
import
android.widget.TextView;
24
25
public
class
MainActivity
extends
Activity {
26
27
private
BroadcastReceiver connectionReceiver;
28
private
TextView tvNetworkState;
29
30
@Override
31
protected
void
onCreate(Bundle savedInstanceState) {
32
super
.onCreate(savedInstanceState);
33
setContentView(R.layout.activity_main);
34
35
tvNetworkState =
(TextView) findViewById(R.id.tvNetworkState);
36
37
connectionReceiver =
new
BroadcastReceiver() {
38
39
@Override
40
public
void
onReceive(Context context, Intent intent) {
41
ConnectivityManager connectMgr =
(ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
42
NetworkInfo mobNetInfo =
connectMgr
43
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
44
NetworkInfo wifiNetInfo =
connectMgr
45
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
46
47
if
(mobNetInfo.isConnected()) {
48
tvNetworkState.setText("手机网络连接~"
);
49
}
else
if
(wifiNetInfo.isConnected()) {
50
tvNetworkState.setText("wifi网络连接~"
);
51
}
else
{
52
tvNetworkState.setText("囧,没有网络连接~"
);
53
}
54
55
//
if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected())
56
//
{
57
//
//
unconnect network
58
//
tvNetworkState.setText("当前没有网络连接!");
59
//
} else {
60
//
//
connect network
61
//
tvNetworkState.setText("恭喜,有网络连接~");
62
//
}
63
}
64
65
};
66
67
IntentFilter intentFilter =
new
IntentFilter();
68
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
69
registerReceiver(connectionReceiver, intentFilter);
70
}
71
72
@Override
73
protected
void
onDestroy() {
74
super
.onDestroy();
75
if
(connectionReceiver !=
null
) {
76
unregisterReceiver(connectionReceiver);
77
}
78
}
79
80
public
boolean
isNetworkConneted(Context context) {
81
if
(context !=
null
) {
82
ConnectivityManager connectivityManager =
(ConnectivityManager) context
83
.getSystemService(Context.CONNECTIVITY_SERVICE);
84
NetworkInfo networkInfo =
connectivityManager
85
.getActiveNetworkInfo();
86
if
(networkInfo !=
null
) {
87
return
networkInfo.isAvailable();
88
}
89
}
90
return
false
;
91
}
92
93
public
boolean
isWifiConnected(Context context) {
94
if
(context !=
null
) {
95
ConnectivityManager connectivityManager =
(ConnectivityManager) context
96
.getSystemService(Context.CONNECTIVITY_SERVICE);
97
NetworkInfo networkInfo =
connectivityManager
98
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
99
if
(networkInfo !=
null
) {
100
return
networkInfo.isAvailable();
101
}
102
}
103
return
false
;
104
}
105
106
public
boolean
isMobileConnected(Context context) {
107
if
(context !=
null
) {
108
ConnectivityManager mConnectivityManager =
(ConnectivityManager) context
109
.getSystemService(Context.CONNECTIVITY_SERVICE);
110
NetworkInfo mMobileNetworkInfo =
mConnectivityManager
111
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
112
if
(mMobileNetworkInfo !=
null
) {
113
return
mMobileNetworkInfo.isAvailable();
114
}
115
}
116
return
false
;
117
}
118
119
public
static
int
getConnectedType(Context context) {
120
if
(context !=
null
) {
121
ConnectivityManager mConnectivityManager =
(ConnectivityManager) context
122
.getSystemService(Context.CONNECTIVITY_SERVICE);
123
NetworkInfo mNetworkInfo =
mConnectivityManager
124
.getActiveNetworkInfo();
125
if
(mNetworkInfo !=
null
&&
mNetworkInfo.isAvailable()) {
126
return
mNetworkInfo.getType();
127
}
128
}
129
return
-1
;
130
}
131
}

