第一类:有无wifi源及各个状态间转变
可监听 WIFI_STATE_CHANGED_ACTION。(如下图所示,双击图片可放大)
![](http://www.2cto.com/uploadfile/2012/0509/20120509022759592.png)
有五种情况:
1-1 disabled
1-2 disabling
1-3 enable
1-4 enabling
1-5 unknown
可通过不同的Extra值,见下图(双击可放大)获得状态常量:
![](http://www.2cto.com/uploadfile/2012/0509/20120509022759263.png)
代码如下:
1.if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) {//在此监听wifi有无
2. int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);
3.
4. switch (wifiState) {
5. case WifiManager.WIFI_STATE_DISABLED:
6. updateWifiStatus(R.drawable.wifi_disable);
7. Toast.makeText(mContext, R.string.wifi_disable,
8. Toast.LENGTH_LONG).show();
9. break;
10. case WifiManager.WIFI_STATE_DISABLING:
11. break;
12. case WifiManager.WIFI_STATE_ENABLED:
13. updateWifiStatus(R.drawable.wifi_enable);
14. Toast.makeText(mContext, R.string.wifi_enable,
15. Toast.LENGTH_LONG).show();
16. break;
17. case WifiManager.WIFI_STATE_ENABLING:
18. break;
19. case WifiManager.WIFI_STATE_UNKNOWN:
20. break;
21. }
22. }
也可通过以下代码实现:
1.//另外一种方式
2. mWifiMng = (WifiManager) mContext
3. .getSystemService(mContext.WIFI_SERVICE);
4.
5. switch (mWifiMng.getWifiState()) {
6. case WifiManager.WIFI_STATE_DISABLED:
7. updateWifiStatus(R.drawable.wifi_disable);
8. Toast.makeText(mContext, R.string.wifi_disable,
9. Toast.LENGTH_LONG).show();
10. break;
11. case WifiManager.WIFI_STATE_DISABLING:
12. break;
13. case WifiManager.WIFI_STATE_ENABLED:
14. updateWifiStatus(R.drawable.wifi_enable);
15. Toast.makeText(mContext, R.string.wifi_enable,
16. Toast.LENGTH_LONG).show();
17. break;
18. case WifiManager.WIFI_STATE_ENABLING:
19. break;
20. case WifiManager.WIFI_STATE_UNKNOWN:
21. break;
22. }
第二类:wifi是否连接正常
可监听:NETWORK_STATE_CHANGED_ACTION(如下图所示,双击图片可放大)
![](http://www.2cto.com/uploadfile/2012/0509/20120509022759525.png)
有两种状况:
2-1连接
2-1未连接
在OnReceiver方法中,通过不同Extra值,获得连接状况,如下图,双击图片放大:
![](http://www.2cto.com/uploadfile/2012/0509/20120509022759439.png)
代码如下:
1.if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) {
2. Parcelable parcelableExtra = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
3. if (null != parcelableExtra) {
4. NetworkInfo networkInfo = (NetworkInfo) parcelableExtra;
5. boolean isConnected = networkInfo.isAvailable();
6. updateNetworkStatus();
7. }
8. }
分享到:
相关推荐
- `WIFI_STATE_CHANGED_ACTION`: WiFi状态发生变化时触发。 - `NETWORK_STATE_CHANGED_ACTION`: 网络状态发生变化时触发。 - `SCAN_RESULTS_AVAILABLE_ACTION`: 扫描结果可用时触发。 - `SUPPLICANT_CONNECTION_...
尤其在Android平台上,开发者可以利用开源项目构建自己的WiFi网络摄像头应用,实现远程监控、视频传输等功能。本文将深入探讨标题为"android wifi网络摄像头源代码"的项目,分析其核心原理和实现机制。 首先,我们...
本篇论文介绍了一种基于Android系统和WiFi无线网络技术的智能家居监控系统的设计与实现。 该系统的设计目的是实现对家居环境的实时监测,并允许用户通过智能手机远程控制家中的各种电器。系统的开发利用了嵌入式...
在Android系统中,WiFi检测是一项重要的...通过这些技术,开发者可以实现监控和控制用户设备的WiFi状态,提升用户体验。在实际开发中,还可以根据需求扩展功能,比如连接特定的WiFi网络或者显示附近的WiFi热点列表。
1. **权限获取**:在AndroidManifest.xml文件中添加必要的权限,如`ACCESS_FINE_LOCATION`和`CHANGE_WIFI_STATE`,确保应用能够读取和更改WiFi状态。 ```xml <uses-permission android:name="android.permission....
在Android平台上,实现指定WiFi热点自动连接是一项涉及网络管理和设备自动化功能的技术。这一特性对于许多应用,特别是那些依赖稳定网络连接的应用,如智能家居控制、远程监控等,具有重要意义。以下将详细阐述如何...
- `WIFI_STATE_CHANGED_ACTION`: 当WIFI状态改变时发送。 - `NETWORK_STATE_CHANGED_ACTION`: 当连接状态发生改变时发送。 - `SCAN_RESULTS_AVAILABLE_ACTION`: 当扫描结果可用时发送。 #### 六、总结 Android...
虽然提供的代码片段没有显示具体的改动,但在实际的实现中,`ConnectivityService`会监控多个网络连接的活动,并根据网络策略和用户设置来决定哪个网络应该处于活动状态。 在实际操作中,用户可以自由地先打开...
在Android系统中,WiFi功能的实现...`WifiMonitor`则实时监控底层的网络事件,提供了一个事件驱动的机制,使得系统能够快速响应网络状态的变化。这样的设计模式确保了Android系统在处理WiFi连接时的高效性和可靠性。
Android系统中的WiFi管理是由`WifiManager`服务提供的,它是一个系统级服务,可以通过应用程序接口(API)与Java层交互,从而控制和监控WiFi状态。开发者可以通过调用`WifiManager`的实例方法来开启、关闭WiFi,扫描...
WifiEnabler、WifiStateTracker、WifiService、WifiMonitor等是框架层的组成部分,它们负责管理和监控Wi-Fi的状态。WifiNative则是JNI层,用于Java和C/C++代码之间的交互。在硬件层面,有Wifi模组、Wi-Fi驱动以及...
- 使用`setWifiEnabled()`方法改变WiFi状态(开启/关闭)。 - 根据WiFi状态更新界面上的复选框。 4. **显示WiFi信息**: - 通过`getStringBuffer()`创建一个字符串缓冲区,用于存储和展示WiFi信息。 - 在缓冲区...
综上所述,该应用利用Android提供的系统API实现了对WiFi状态的实时监控和控制,同时结合UI设计提供了良好的用户交互体验。开发过程中涉及到了Android的网络连接管理、事件监听、权限控制、资源管理和打包流程等多个...
本文将深入探讨如何在Android系统中实现这一功能,并基于提供的标签"Android wifi"进行详细讲解。 首先,我们要了解Android系统中处理Wi-Fi相关操作的核心组件——`WifiManager`。`WifiManager`是Android SDK提供的...
【基于Android设备的WiFi智能监控机器人设计】 本文主要探讨了如何设计一个基于Android设备的WiFi智能监控机器人系统,该系统能够实现视频监控和通过多种方式(包括重力感应)对机器人的控制。这一创新设计旨在解决...
3. **Wi-Fi状态监控**:应用可能通过注册`BroadcastReceiver`监听`WifiManager.SCAN_RESULTS_AVAILABLE_ACTION`和`WifiManager.NETWORK_STATE_CHANGED_ACTION`广播,实时更新网络列表和连接状态。 4. **Wi-Fi权限**...
这种方法充分利用了WPA Supplicant的事件通知机制,提供了实时且高效的WiFi状态监控能力。 ### 结论 综上所述,在Android系统中通过JNI技术监控WiFi网络连接、dhcpcd执行以及管理电源控制,是一种深入系统底层、高...
Android 下通过 JNI 监控 WiFi 网络连接、dhcpcd 执行和 Power 电源控制 Android 作为一个开源的移动操作系统,具有广泛的应用前景,而 WiFi 网络连接、dhcpcd 执行和 Power 电源控制是 Android 中的三个重要组件。...
此外,还介绍了Android系统中的WiFi管理API,如何通过编程接口进行网络状态监控和连接控制。 **NFC技术** NFC是一种短距离无线通信技术,广泛应用于移动支付、数据交换、门禁系统等领域。邓凡平在书中详细介绍了NFC...