繁体   English   中英

三星 Galaxy Tab 中的唤醒锁

[英]Wake Lock in Samsung Galaxy Tab

我正在开发一个需要在后台发送和接收数据包的应用程序。 但我发现,当屏幕关闭时,cpu 和网络也被禁用。 所以我在 Android Developers 上发现,如果屏幕关闭,我应该使用唤醒锁和 wifi 锁来让 CPU 正常工作。 此解决方案适用于 LG Optimus One 等其他设备,但不适用于三星 Galaxy Tab。 使用此设备,当屏幕关闭时,我无法再接收数据包(UDP),当我按下电源按钮重新启用屏幕时,我神奇地重新启动以接收数据包。 在我的代码中,我调用:

powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_W AKE_LOCK, "TAG");

然后

wakeLock.acquire();

我认为这是三星的错误,但我不确定,如果有人能给我一些提示,我将不胜感激。

PS我需要一些编程帮助......我已经知道如果我修改一些手动设置以避免关闭屏幕,这将起作用。 但我正在开发一个应用程序,我需要代码!!

您应该在您的情况下使用PARTIAL_WAKE_LOCK

我不确定为什么SCREEN_DIM_WAKE_LOCK还不够(没有找到任何证明这一点的文档),但PARTIAL_WAKE_LOCK在类似情况下对我来说效果很好。

作为另一种选择,您可以使用WifiLock 但是您需要对此保持警惕,因为您的网络连接可能是 2G 或 3G,而不仅仅是 Wi-Fi。 因此,当您实际使用 3G/2G/等时,您不应该持有 Wi-Fi 锁定。

您可能还想检查高级 WIFI 设置。 在首选项 - WIFI 设置中,您可以点击菜单键,单击高级图标,然后检查 WIFI 睡眠策略的值。 选项之一是“屏幕关闭时”。

暂无
暂无

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

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