我制作了一个应用程序,每 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 等)。
任何想法都非常有帮助!
问候!