我每5分钟向服务器发送纬度
和经度
,同时获得WakeLock
和WifiLock
,但出现错误。
java.lang.UnsupportedOperationException: Exceeded maximum number of wifi locks
at android.net.wifi.WifiManager$WifiLock.acquire(WifiManager.java:1622)
代码片段的代码如下:
public class WakeLocker {
private WakeLock wl_cpu;
private PowerManager mPowerManager;
private WifiLock wifiLock = null;
@SuppressLint({ "InlinedApi", "Wakelock" })
public void acquire(Context ctx) {
mPowerManager = (PowerManager) ctx
.getSystemService(Context.POWER_SERVICE);
WifiManager wm = (WifiManager) ctx
.getSystemService(Context.WIFI_SERVICE);
wifiLock = wm.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF,
"MyWifiLock");
wifiLock.acquire();
wl_cpu = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK
| PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.ON_AFTER_RELEASE, "MyCpuLock");
wl_cpu.acquire(10000);
}
public void release() {
if ((wifiLock != null) || (wifiLock.isHeld() == true)) {
wifiLock.release();
wifiLock = null;
}
if ((wl_cpu != null) || (wl_cpu.isHeld() == true)) {
wl_cpu.release();
wl_cpu = null;
}
}
}
没有得到任何解决方案。请提供任何建议。谢谢。