方法如下:
-
获取ConnectivityManager对象:
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
-
获取当前网络信息:
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
-
判断当前网络类型:
if (networkInfo != null) { if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) { // 当前网络为Wi-Fi } else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) { // 当前网络为移动网络 } } else { // 没有网络连接 }
以上是获取当前网络类型的基本方法,根据具体需求可以做更详细的网络状态判断和处理。
可以通过以下代码来获取当前网络的连接状态:
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.isConnectedOrConnecting()) {
// 当前网络已连接或正在连接
if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
// 当前连接为WiFi
Log.d("Network", "当前连接为WiFi");
} else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
// 当前连接为移动网络
Log.d("Network", "当前连接为移动网络");
}
} else {
// 当前网络未连接
Log.d("Network", "当前网络未连接");
}
在AndroidManifest.xml文件中需要添加权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
这样就可以获取当前网络的连接状态,并根据连接类型进行相应处理。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/156915.html