展会信息港展会大全

Android WIFI状态监控
来源:互联网   发布日期:2015-09-28 16:12:08   浏览:1858次  

导读:第一类:有无wifi源及各个状态间转变可监听 WIFI_STATE_CHANGED_ACTION。(如下图所示,双击图片可放大)有五种情况:1-1 disabled1-2 dis...

第一类:有无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开发 教程

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港