首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wakeLock和wifiLock

wakeLock和wifiLock
EN

Stack Overflow用户
提问于 2016-12-19 00:33:07
回答 1查看 1K关注 0票数 0

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

wakeLock

代码语言:javascript
复制
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
    wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakelockTag");
    wakeLock.acquire();

和wifiLock

代码语言:javascript
复制
WifiManager wMgr = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    wifiLock = wMgr.createWifiLock(WifiManager.WIFI_MODE_FULL, "MyWifiLock");
    wifiLock.acquire();

但是,如果设备在一个小时内没有被触摸,并且处于睡眠模式,wifi就会停止工作。这是正常行为吗?如果不是,在调用release()方法之前,我应该如何锁定设备?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-01 18:32:56

Android在设备闲置了一段时间以优化电池性能时会打瞌睡,所以是的,这是一种正常的行为。

首先,强烈建议不要试图阻止设备进入打瞌睡模式,以提高设备的电池性能。您可以在正式文件阅读更多关于打瞌睡的内容。

如果您出于某种原因需要保持服务活动的严格要求,您可以尝试在应用程序中添加优化权限。但请注意,您的应用程序可能会被拒绝从Google商店(如果它应该在那里发布)根据下面的引文从官方文档这里

注意: Google政策禁止应用程序请求直接豁免安卓6.0+ (Doze和App备用)的电源管理功能,除非该应用的核心功能受到不利影响。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41214354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档