Android(安卓)WifiManager.WifiLock 简介
16lz
2021-01-25
经过查看网上的资料,知道在手机屏幕关闭之后,并且其他的应用程序没有在使用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();}
更多相关文章
- 【移动开发】Android应用开发者应该知道的东西
- Unity3d和Android的互相调用(二)
- Android(安卓)API Guides---Hardware Acceleration
- Android应用程序的4个组件
- 一个简单好用的Android(安卓)Tab 设计与实现
- Android(安卓)java面试题收集
- 解决IE apk变成zip:Android(安卓)手机应用程序文件下载服务器 配
- 摘抄:Android:应用程序的生命周期
- android内部存储器和外部存储器