繁体   English   中英

WakeLock和wifiLock

[英]wakeLock and wifiLock

当我启动服务时,每隔几秒钟就会向服务器发送一些数据

唤醒锁

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
    wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakelockTag");
    wakeLock.acquire();

和wifiLock

WifiManager wMgr = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    wifiLock = wMgr.createWifiLock(WifiManager.WIFI_MODE_FULL, "MyWifiLock");
    wifiLock.acquire();

但是,如果一小时未触摸设备并且处于睡眠模式,则wifi会停止工作。 这是正常现象吗?如果不是,我应该怎么做才能锁定设备,直到调用release()方法?

为了使电池性能达到最佳状态,Android会在闲置一段时间后将其打do,这是正常现象。

首先,强烈建议您不要试图使设备进入休眠模式,以提高设备的电池性能。 您可以在官方文档中阅读有关打do睡的更多信息。

如果出于某种原因您有严格的要求,需要保持服务处于活动状态,则可以尝试在应用中添加REQUEST_IGNORE_BATTERY_OPTIMIZATIONS权限。 但请注意,根据以下官方文档中的以下报价,您的应用可能会被Google Play商店拒绝(如果应该在此处发布)

注意:Google Play政策禁止应用程式要求直接豁免Android 6.0+(ze睡和应用程式待机)中的电源管理功能,除非对应用程式的核心功能造成不利影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM