我正在开发一个需要在后台发送和接收数据包的应用程序。但我发现,当屏幕关闭时,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我需要一些编程帮助......我已经知道如果我修改一些手动设置以避免关闭屏幕,这将起作用。但我正在开发一个应用程序,我需要代码!!