【发布时间】:2012-01-05 07:41:58
【问题描述】:
我制作了一个应用程序,每 5-10 分钟连接到我的服务器,并检查数据库中是否有一些变化。
所以我使用服务以便应用程序可以在后台运行,并且该用户可以关闭应用程序并在状态栏中获取消息。在其中我使用 Thread 以便应用程序休眠 5-10 分钟。当我锁定手机时,问题就开始了。比应用程序停止(这是因为当您锁定手机时进入“睡眠”状态),所以我发现我需要这个:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, 'My Tag');
wl.acquire();
这会强制手机除屏幕外不进入睡眠状态。但我卡住了。这工作正常,但会消耗大量电池。每小时 10% :( 而且我相信应用程序必须一直请求这些 Web 服务不是问题,而是强制手机处于活动状态的功能。
所以,我的问题是,我是否可以使用任何其他解决方案,因为我在手机上有一些应用程序可以在后台运行,但它们根本不会消耗太多电池(avast、juice defender 等。 )。
任何想法都非常有帮助!
问候!
【问题讨论】:
标签: android service background battery powermanager