`
huobengluantiao8
  • 浏览: 1077286 次
文章分类
社区版块
存档分类
最新评论

Android WIFI状态监控

 
阅读更多

第一类:有无wifi源及各个状态间转变

可监听 WIFI_STATE_CHANGED_ACTION。(如下图所示,双击图片可放大)


有五种情况:
1-1 disabled
1-2 disabling
1-3 enable
1-4 enabling
1-5 unknown

可通过不同的Extra值,见下图(双击可放大)获得状态常量:

代码如下:


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(如下图所示,双击图片可放大)


有两种状况:
2-1连接
2-1未连接
在OnReceiver方法中,通过不同Extra值,获得连接状况,如下图,双击图片放大:

代码如下:

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. }


分享到:
评论

相关推荐

    android wifi 的大致流程图

    - `WIFI_STATE_CHANGED_ACTION`: WiFi状态发生变化时触发。 - `NETWORK_STATE_CHANGED_ACTION`: 网络状态发生变化时触发。 - `SCAN_RESULTS_AVAILABLE_ACTION`: 扫描结果可用时触发。 - `SUPPLICANT_CONNECTION_...

    android wifi网络摄像头源代码

    尤其在Android平台上,开发者可以利用开源项目构建自己的WiFi网络摄像头应用,实现远程监控、视频传输等功能。本文将深入探讨标题为"android wifi网络摄像头源代码"的项目,分析其核心原理和实现机制。 首先,我们...

    基于Android和WiFi的智能家居监控系统设计与实现.pdf

    本篇论文介绍了一种基于Android系统和WiFi无线网络技术的智能家居监控系统的设计与实现。 该系统的设计目的是实现对家居环境的实时监测,并允许用户通过智能手机远程控制家中的各种电器。系统的开发利用了嵌入式...

    Android中wifi检测

    在Android系统中,WiFi检测是一项重要的...通过这些技术,开发者可以实现监控和控制用户设备的WiFi状态,提升用户体验。在实际开发中,还可以根据需求扩展功能,比如连接特定的WiFi网络或者显示附近的WiFi热点列表。

    Android 连接wifi和创建WIFI热点 demo

    1. **权限获取**:在AndroidManifest.xml文件中添加必要的权限,如`ACCESS_FINE_LOCATION`和`CHANGE_WIFI_STATE`,确保应用能够读取和更改WiFi状态。 ```xml <uses-permission android:name="android.permission....

    android 指定wifi热点自动连接

    在Android平台上,实现指定WiFi热点自动连接是一项涉及网络管理和设备自动化功能的技术。这一特性对于许多应用,特别是那些依赖稳定网络连接的应用,如智能家居控制、远程监控等,具有重要意义。以下将详细阐述如何...

    Android WIFI开发介绍

    - `WIFI_STATE_CHANGED_ACTION`: 当WIFI状态改变时发送。 - `NETWORK_STATE_CHANGED_ACTION`: 当连接状态发生改变时发送。 - `SCAN_RESULTS_AVAILABLE_ACTION`: 当扫描结果可用时发送。 #### 六、总结 Android...

    android 10.0 wifi以太网共存1

    虽然提供的代码片段没有显示具体的改动,但在实际的实现中,`ConnectivityService`会监控多个网络连接的活动,并根据网络策略和用户设置来决定哪个网络应该处于活动状态。 在实际操作中,用户可以自由地先打开...

    android wifi流程分析

    在Android系统中,WiFi功能的实现...`WifiMonitor`则实时监控底层的网络事件,提供了一个事件驱动的机制,使得系统能够快速响应网络状态的变化。这样的设计模式确保了Android系统在处理WiFi连接时的高效性和可靠性。

    android wifi开发

    Android系统中的WiFi管理是由`WifiManager`服务提供的,它是一个系统级服务,可以通过应用程序接口(API)与Java层交互,从而控制和监控WiFi状态。开发者可以通过调用`WifiManager`的实例方法来开启、关闭WiFi,扫描...

    Android WIFI模块分析

    WifiEnabler、WifiStateTracker、WifiService、WifiMonitor等是框架层的组成部分,它们负责管理和监控Wi-Fi的状态。WifiNative则是JNI层,用于Java和C/C++代码之间的交互。在硬件层面,有Wifi模组、Wi-Fi驱动以及...

    android WIFI 总结

    - 使用`setWifiEnabled()`方法改变WiFi状态(开启/关闭)。 - 根据WiFi状态更新界面上的复选框。 4. **显示WiFi信息**: - 通过`getStringBuffer()`创建一个字符串缓冲区,用于存储和展示WiFi信息。 - 在缓冲区...

    wifi状态实时更新与控制系统wifi

    综上所述,该应用利用Android提供的系统API实现了对WiFi状态的实时监控和控制,同时结合UI设计提供了良好的用户交互体验。开发过程中涉及到了Android的网络连接管理、事件监听、权限控制、资源管理和打包流程等多个...

    Android-Wifi获取刷新

    本文将深入探讨如何在Android系统中实现这一功能,并基于提供的标签"Android wifi"进行详细讲解。 首先,我们要了解Android系统中处理Wi-Fi相关操作的核心组件——`WifiManager`。`WifiManager`是Android SDK提供的...

    基于Android设备的WiFi智能监控机器人设计.pdf

    【基于Android设备的WiFi智能监控机器人设计】 本文主要探讨了如何设计一个基于Android设备的WiFi智能监控机器人系统,该系统能够实现视频监控和通过多种方式(包括重力感应)对机器人的控制。这一创新设计旨在解决...

    Android-wifi.zip_android_android wifi_android wifi_wifi androi

    3. **Wi-Fi状态监控**:应用可能通过注册`BroadcastReceiver`监听`WifiManager.SCAN_RESULTS_AVAILABLE_ACTION`和`WifiManager.NETWORK_STATE_CHANGED_ACTION`广播,实时更新网络列表和连接状态。 4. **Wi-Fi权限**...

    浅析android下如何通过jni监控wifi网络连接、dhcpcd执行和power

    这种方法充分利用了WPA Supplicant的事件通知机制,提供了实时且高效的WiFi状态监控能力。 ### 结论 综上所述,在Android系统中通过JNI技术监控WiFi网络连接、dhcpcd执行以及管理电源控制,是一种深入系统底层、高...

    浅析android下如何通过jni监控wifi网络连接、dhcpcd执行和power电源控制

    Android 下通过 JNI 监控 WiFi 网络连接、dhcpcd 执行和 Power 电源控制 Android 作为一个开源的移动操作系统,具有广泛的应用前景,而 WiFi 网络连接、dhcpcd 执行和 Power 电源控制是 Android 中的三个重要组件。...

    深入理解Android:WiFi模块 NFC和GPS卷.邓凡平(文字版).pdf

    此外,还介绍了Android系统中的WiFi管理API,如何通过编程接口进行网络状态监控和连接控制。 **NFC技术** NFC是一种短距离无线通信技术,广泛应用于移动支付、数据交换、门禁系统等领域。邓凡平在书中详细介绍了NFC...

Global site tag (gtag.js) - Google Analytics