【发布时间】:2016-03-28 23:59:25
【问题描述】:
我正在为 Android 构建音乐流媒体应用。
在这个应用程序中,我有一个Service,它负责播放来自 HTTP 服务器的音频。在玩之前,我确保startForeground() 并获得部分WakeLock,这样我的服务就不会被杀死。我也收到了WifiLock,以防万一。
只要我的手机没有处于“省电模式”,该服务就可以正常工作。当我打开省电模式并断开手机与电源的连接时,我的服务就被烧毁了!
不幸的是,onDestroy() 似乎没有被调用,所以我来自startForeground() 的通知仍然可见,即使该服务已死。
手机是三星 Galaxy S6,搭载 Android 6.0.1。
两个问题:
- 有没有什么方法可以让服务保持运行,尽管有节电设备?
- 如果没有,我想至少知道我的服务何时被终止,以便进行一些清理(删除通知和内部内容)。
有什么建议吗?
【问题讨论】:
-
您找到解决此问题的方法了吗?我有类似的情况 - 根据设备和确切的 Android 版本,应用程序或 wifi 连接会停止,忽略所有唤醒锁
-
我不知道有什么解决办法。不确定它实际上是否已在 Android 7 中修复...我的应用程序不是唯一的:甚至 google 音乐和 spotify 也有问题。
-
Android 7 仍然存在问题。感谢您提供信息。