您的位置:首页 > 移动开发 > Android开发

Android WifiManager.WifiLock 简介

2012-07-24 13:37 411 查看
经过查看网上的资料,知道在手机屏幕关闭之后,并且其他的应用程序没有在使用wifi的时候,系统大概在两分钟之后,会关闭wifi,使得wifi处于睡眠状态。

这样的做法,有利于电源能量的节省和延长电池寿命等。

android为wifi提供了一种叫WifiLock的锁,能够阻止wifi进入睡眠状态,使wifi一直处于活跃状态。这种锁,在下载一个较大的文件的时候,比较适合使用。

WifiLock Allows an application to keep the Wi-Fi radio awake.

一、创建一个wifiLock

1.

/**
	 * 
	 * @param lockName
	 *            锁的名字
	 * @return wifiLock
	 */
	public WifiLock createWifiLock(String lockName)
	{
		wifiLock = wifiManager.createWifiLock(lockName);
		return wifiLock;

	}

2.

/**
	 * 
	 * @param lockName
	 *            锁的名称
	 * @param lockType
	 * 
	 *            WIFI_MODE_FULL == 1 <br/>
	 *            扫描,自动的尝试去连接一个曾经配置过的点<br />
	 *            WIFI_MODE_SCAN_ONLY == 2 <br/>
	 *            只剩下扫描<br />
	 *            WIFI_MODE_FULL_HIGH_PERF = 3 <br/>
	 *            在第一种模式的基础上,保持最佳性能<br />
	 * @return wifiLock
	 */
	public WifiLock createWifiLock(String lockName, int lockType)
	{
		wifiLock = wifiManager.createWifiLock(lockType, lockName);
		return wifiLock;
	}


二、给wifi添加锁

/**
	 * 加上锁
	 */
	public void lockWifi()
	{
		wifiLock.acquire();
	}


三、给wifi释放锁

/**
	 * 释放锁
	 */
	public void releaseLock()
	{
		if (wifiLock.isHeld())
		{
			wifiLock.release();
		}
	}


四、判断wifi是否被lock锁持用

/**
	 * 判断wifi的锁是否持有
	 * 
	 * @return
	 */
	public boolean isHeld()
	{
		return wifiLock.isHeld();
	}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: