转发:http://blog.csdn.net/chenzheng_java/article/details/6387116
/**
* 测试ConnectivityManager
* ConnectivityManager主要管理和网络连接相关的操作
* 相关的TelephonyManager则管理和手机、运营商等的相关信息;WifiManager则管理和wifi相关的信息。
* 想访问网络状态,首先得添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
* NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过其getState()方法获取的State对象则代表着
* 连接成功与否等状态。
*
*/
public void testConnectivityManager() {
ConnectivityManager connManager = (ConnectivityManager) this
.getSystemService(CONNECTIVITY_SERVICE);
// 获取代表联网状态的NetWorkInfo对象
NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
// 获取当前的网络连接是否可用
boolean available = networkInfo.isAvailable();
if(available){
Log.i("通知", "当前的网络连接可用");
}
else{
Log.i("通知", "当前的网络连接可用");
}
State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
if(State.CONNECTED==state){
Log.i("通知", "GPRS网络已连接");
}
state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if(State.CONNECTED==state){
Log.i("通知", "WIFI网络已连接");
}
// 跳转到无线网络设置界面
startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
// 跳转到无限wifi网络设置界面
startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));
}
(注意:上面的代码只是示例,直接运行的话有待修改。)
上面判断网络类型的方法只是为了展示用法,其实完全可以通过networkInfo.getType()的返回值来判断。
如:
[java:nogutter] view plaincopy
Context context = listActivity.getApplicationContext();//获取应用上下文
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);//获取系统的连接服务
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();//获取网络的连接情况
if(activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI){
//判断WIFI网
}else if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) {
//判断3G网
}
NetWorkInfo类的主要方法示例:
分享到:
相关推荐
在Android应用开发中,了解和使用`...总之,`ConnectivityManager`是Android应用开发中检查网络状态的关键工具,通过创建和管理BroadcastReceiver,可以实时监控网络连接状态,为用户提供更好的交互体验。
`ConnectivityManager`是Android系统中的关键类,它提供了检查网络连接状态、请求特定类型的网络连接等方法。要监听网络状态变化,我们需要获取到`ConnectivityManager`的实例: ```java ConnectivityManager ...
本资料“Android应用源码之网络连接状态检测”旨在帮助开发者理解如何在Android平台上实现有效的网络连接检查,并确保应用在各种网络环境下都能正常运行。 首先,我们要了解Android系统提供的网络连接API。在...
总结来说,获取Android设备的网络连接状态主要涉及到`ConnectivityManager`和`NetworkInfo`这两个关键类。通过它们提供的API,我们可以轻松地检查设备的网络状态,并据此做出相应的业务逻辑决策。在实际项目中,还...
本项目“Android应用源码之网络连接状态检测”提供了详细的源代码示例,适用于毕业设计学习,帮助学生深入理解如何在Android环境中实现网络连接的实时监控。 首先,我们需要了解Android中的网络连接API。Android...
在Android中,我们通常通过`ConnectivityManager`系统服务来检查网络连接状态。`ConnectivityManager`提供了网络连接的信息,包括移动网络、Wi-Fi等。首先,我们需要在AndroidManifest.xml文件中添加访问网络的权限...
综上所述,这个AndroidDemo项目可能展示了如何使用ConnectivityManager检测网络连接状态,以及如何处理Android 6.0之后的权限问题,并可能包括网络状态改变的监听和响应机制。通过学习和理解这段源码,开发者可以更...
在Android开发中,判断网络连接状态是至关重要的功能之一,特别是在设计依赖于互联网的应用时。本文将深入探讨如何在Android应用程序中实现网络连接状态的检测,包括但不限于WiFi、GSM和3G网络,并且会触及到更深...
在Android开发中,检查设备的网络连接状态是十分常见的需求,比如在下载文件、更新应用或者发送网络请求之前,我们通常需要确保设备已连接到可用的网络。以下是一份详细的步骤指南,帮助开发者实现Android应用中检查...
首先,Android提供了多种API来检测网络连接状态,包括是否连接到互联网以及连接的类型(如Wi-Fi、移动数据等)。主要涉及以下几个类和接口: 1. **ConnectivityManager**:这是Android系统服务,负责管理设备的网络...
本项目“Android29的网络状态获取工具,NetworkTools-master.zip”提供了一个专门针对Android 29及以下版本的网络状态管理工具,帮助开发者轻松解决网络连接检测和类型识别的问题。 首先,我们要了解Android 29(即...
Android提供了`ConnectivityManager`类来检测设备的网络连接状态。首先,你需要获取到系统的`ConnectivityManager`服务: ```java ConnectivityManager connectivityManager = (ConnectivityManager) ...
在Android应用开发中,检查网络连接状态是常见的需求,例如在用户尝试访问网络资源前确认网络是否可用。本文将详细讲解如何在Android中实现这一功能。 首先,为了能够访问网络和检测网络状态,必须在应用程序的主...
`ConnectivityManager`是Android系统服务,用于获取设备当前的网络连接信息,而`NetworkInfo`则提供了网络连接的详细信息,如类型(Wi-Fi、移动数据等)、状态(是否连接、是否可用)以及详细的数据连接状态。...