Android WiFi 电源管理
2010-03-12 15:37:00 来源:WEB开发网2.2 release()
Unlocks the Wi-Fi radio, allowing it to turn off when the device is idle.
If this WifiLock is reference-counted, each call to release will decrement the reference count, and the radio will be unlocked only when the reference count reaches zero. If the reference count goes below zero (that is, if release is called a greater number of times than acquire), an exception is thrown.
If this WifiLock is not reference-counted, the first call to release (after the radio was locked using acquire) will unlock the radio, and subsequent calls will be ignored.
2.3 setReferenceCounted(boolean refCounted)
Controls whether this is a reference-counted or non-reference-counted WifiLock.
Reference-counted WifiLocks keep track of the number of calls to acquire and release, and only allow the radio to sleep when every call to acquire has been balanced with a call to release. Non-reference-counted WifiLocks lock the radio whenever acquire is called and it is unlocked, and unlock the radio whenever release is called and it is locked.
Param: refCounted true if this WifiLock should keep a reference count
2.4 isHeld()
Checks whether this WifiLock is currently held.
return true if this WifiLock is held, false otherwise
3. EXAMPLE
frameworks/base/services/java/com/android/server/LocationManagerService.java is a good example for your reference.
Our simple example is as blew.
import android.os.PowerManager;
import android.net.wifi.WifiManager;
public class WifiLockExample{
private final Context mContext;
private PowerManager.WakeLock mWakeLock = null;
private WifiManager.WifiLock mWifiLock = null;
public WifiLockExample(Context context){
mContext = context;
// Create a wake lock
PowerManager powerManager = (PowerManager)
赞助商链接