在设备睡眠期间保持应用服务活动

时间:2018-01-07 21:59:48

标签: android service screen sleep foreground

所以我制作了一个Android视频通话应用程序,尝试在后台运行,以便用户可以在屏幕关闭时接听电话。但我注意到,当设备进入睡眠状态时应用程序会暂停。

我发现的解决方案是将所有内容重写为服务,然后请求唤醒锁,以便在睡眠期间不会暂停服务。

当然,由于有这么多类型的应用程序,有一种更优雅的方式来做到这一点?由于您希望实时接听电话,因此定期检查无效。

1 个答案:

答案 0 :(得分:0)

这取决于Android版本,对于早于6的版本,部分唤醒锁足以让设备保持清醒状态,对于Android 6,您还需要一个前台服务,这是一个调用startForeground()并显示通知的服务,但是保持设备清醒对电池使用有很大影响。

由于整个应用程序都处于唤醒状态,因此您不一定需要将所有代码都转移到服务中。

更换所有这些的更优雅的解决方案可能是使用推送通知,这是大多数消息传递应用程序使用的。 Firebase具有推送通知。