唤醒+ Wifi锁无效

Ion*_*ers 6 android android-wifi wakelock

我的后台服务正在尽快向本地服务器发送消息.每条消息通常需要大约30毫秒.但是当手机处于睡眠模式时,它需要大约400ms-1000ms(使用'正确'的Wifi政策关闭屏幕)

在我的服务中,我使用以下代码来获取Wifi锁和WakeLock.

PowerManager lPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);            
mWakeLock = lPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WakeLockTag");

WifiManager lWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) {
    mWifiLock = lWifiManager.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF, "LockTag");
} else {
    mWifiLock = lWifiManager.createWifiLock(WifiManager.WIFI_MODE_FULL, "LockTag");             
}
mWifiLock.acquire();
mWakeLock.acquire();
Run Code Online (Sandbox Code Playgroud)

是否有可能获得与屏幕开启时相同的性能?

Jam*_*aaz 0

据我所知,存在一个已知问题 - 某些设备在 PARTIAL_WAKE_LOCK 和 WifiLock:WIFI_MODE_FULL_HIGH_PERF 的组合下不可靠。

当屏幕关闭时,它无法正常工作。

您可以在该特定设备上进一步检查 SCREEN_DIM_WAKE_LOCK。